前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OMV -6- 搭建并使用公网 SFTP 服务

OMV -6- 搭建并使用公网 SFTP 服务

作者头像
为为为什么
发布2022-08-06 12:56:12
3.9K0
发布2022-08-06 12:56:12
举报
文章被收录于专栏:又见苍岚又见苍岚

NAS 存在的目的就是服务于公网的私人数据存储,在做了很多铺垫工作的基础上,本文记录使用 OMV nas 系统搭建公网SFTP并使用的基础流程。

简介

FTP

FTP是TCP/IP协议组中的协议之一,TP协议由两个部分组成:

  • FTP服务器(用来存储文件)
  • FTP客户端(用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源)

默认情况下FTP协议使用TCP端口中的20和21这两个端口。21端口用于传输控制信息,而是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP传输模式分为以下两种:

  • 主动模式(Port)

FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20 端口连接至客户端的指定端口发送数据。

  • 被动模式(Passive)

在建立控制通道与主动模式相似,但建立连接后是Pasv命令。FTP服务器收到Pasv命令后便随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。

注意:很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

SFTP

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

FTP 与 SFTP 异同

FTP

SFTP

链接方式

使用TCP端口21上的控制连接建立连接

在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件

安全性

传输正常数据

SFTP使用加密传输认证信息和传输的数据

效率

传输效率较高

使用了加密解密技术,效率相对较低

准备工作

以公网私人网盘为模板,搭建自己的 sftp 数据服务器

搭建 sftp 服务端

omv 挂载磁盘
  • omv 需要在自己亲自挂载的磁盘上建立设备 这一概念
  • 不要手动挂载磁盘,只需要让系统识别到硬件即可
  • 随后进入omv界面 -> 文件系统 -> 挂载磁盘
安装 sftp 插件
  • 在 omv 界面中搜索安装 sftp
建立用户与用户组
  • 建立用户组 lanuser
  • 建立用户 testuser
  • 将用户归入用户组
建立共享目录
  • 挂载磁盘后即可看到设备选项
  • 选择共享文件夹 -> 添加,创建新的共享目录
  • 设置共享目录权限,点击 ACL,设置我们的测试组拥有读写权限
  • 保存修改,应用到omv 系统中
设置 sftp 共享文件夹
  • 添加共享目录
  • 选择我们添加的用户和共享目录
  • 回到设置点击启用
  • 应用修改,sftp 服务亮灯
  • 至此 sftp 服务端搭建完毕

sftp 客户端

Windows

在Windows下,有几种方式可以连接 sftp 服务

CMD 连接
  • 可以用 cmd 命令行接入 sftp:
代码语言:javascript
复制
sftp <-P port> <username>@<IP>
  • 之后输入用户名对应的密码可以访问
filezilla
  • 可以访问远程数据并实现互传
swish
  • 在我的电脑中会出现 swish 磁盘
  • 进入 swish 左上角点击 添加 sftp 连接
  • 将同样的信息填入到配置界面中即可将 sftp 连接当成本地磁盘使用

事实上并没有盘符,很多应用无法正常使用,只是看起来好像本地磁盘一样

Xftp
  • 下载并安装 Xshell 配套的 Xftp 工具:https://www.netsarang.com/zh/xftp/
  • 打开 文件 -> 新建 进入新建会话页面
  • 在其中填入信息配置连接,即可sftp 访问远程数据
Android 终端
  • 可以使用 ES 文件浏览器 、FE文件管理器一类的APP
  • 新建 sftp 连接,填入配置信息,访问远程数据
Linux
  • 命令行可以访问 sftp 服务器
代码语言:javascript
复制
sftp <-P port> <username>@<IP>
  • 和 Windows 中的命令行工具命令相同

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • FTP
      • SFTP
        • FTP 与 SFTP 异同
        • 准备工作
        • 搭建 sftp 服务端
          • omv 挂载磁盘
            • 安装 sftp 插件
                • 建立用户与用户组
                  • 建立共享目录
                    • 设置 sftp 共享文件夹
                    • sftp 客户端
                      • Windows
                        • CMD 连接
                        • filezilla
                        • swish
                        • Xftp
                      • Android 终端
                        • Linux
                        • 参考资料
                        相关产品与服务
                        访问管理
                        访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档