搭建SFTP服务安全共享文件,实现在外远程访问「内网穿透」

Posted 不会压弯的小飞侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建SFTP服务安全共享文件,实现在外远程访问「内网穿透」相关的知识,希望对你有一定的参考价值。

文章目录


1.前言

现在的网络发达,个人电脑容量快速上升,想要保存的数据资料也越来越多。在平时,我们会将很多数据资料都会存在个人电脑上,甚至发展出专门的数据存储设备(NAS设备)。毕竟手机容量小,存太多东西会卡顿。但为了满足我们随时随地查阅这些数据资料的要求,又需要能随时安全的连入个人电脑和存储设备,这时SFTP服务就能大显身手。今天,笔者就为大家详细介绍,如何使用Cpolar内网穿透的FTP协议,搭建自己的SFTP服务器,能够随时随地安全的调取查阅本地电脑上的数据资料吧。

2.本地SFTP服务器搭建

本质上来说,SFTP是一项传输协议,而为了执行这项传输协议,就需要相应的SFTP软件来执行,当硬件设备加上SFTP软件,就组成了执行SFTP协议的服务器。但通常这种服务器只能在局域网内提供服务,想要让这个服务器能被公共互联网上的设备访问到(可以是移动网的手机,也可能是安放在其他地方的电脑),就需要使用cpolar的内网穿透服务。

2.1.SFTP软件的下载和安装

要搭建SFTP服务器,相关软件必不可少,这里我们采用FreeSSHd这款软件执行FTP协议,为了保证软件的干净,我们还是在其官网下载。官网下载地址为http://www.freesshd.com/?ctt=download,而下载的软件,则是FreeFTPd。

FreeFTPd软件下载完成后,直接双击就可以进行安装。安装过程也没啥可说的,一路next即可。

FreeFTPd安装完成后,可以在开始菜单中找到FreeFTPd软件的快捷方式,需要注意的是,我们需要右键点击软件,在出现的菜单中选择以管理员身份运行该软件,才能让所做的配置生效,一般用户身份运行就没法保存所做的配置。

打开FreeFTPd软件主界面后,点击左侧的SFTP选项,进入SFTP设置页面,在这个页面右下部,点击Start启动SFTP服务。

SFTP服务启动后,我们可以看到Server status栏位显示为Running,并在Prot:22端口输出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdaQG8rq-1679361192516)(null#pic_center)]

启动SFTP服务后,我们先不着急保存退出,而是先建立一个用户。同样点击软件主界面左侧的Users,进入用户添加界面,点击Add按钮,添加一个用户。

添加用户时,自然需要进行一些关于用户的设定,比如用户名、用户密码、发布的磁盘(文件夹)、传输方式之类。这里我们将用户名定为test,共享的磁盘为E盘,传输协议为SFTP。完成这些设置后,就可以点击下方的“Apply”保存设置。

需要注意的是,我们需要将打算用SFTP发布的存储空间(硬盘或文件夹)审定好权限,防止访问这个存储空间时因权限限制而被拒绝。具体方法就是右键点击这个存储空间,选择右键菜单最下方的属性进入设置页面,点击安全选项卡,将Users的完全控制修改读取和执行列出文件夹内容读取写入几个权限都勾选并保存。

2.2.配置SFTP站点

完成了FreeSSHd软件的设置,我们还要建立一个SFTP站点,让远程访问的请求有地方可去。这里我们选用FileZilla这款软件。同样的,这款软件也可以在其官网找到下载(https://www.filezilla.cn/)。

在选择对应操作系统的FileZilla客户端下载后,解压后找到filezilla.exe双击进行安装。

FileZilla客户端安装完成后,进入FileZilla客户端主界面,点击左上角的文件按钮,并在弹出的菜单中选择第一项站点管理器

站点管理器页面,我们点击新站点,并对这个新站点进行设置,设置内容主要为

  • 协议(在下拉菜单中选择SFTP)

  • 主机(FileZilla服务器和FreeFTPd在同一台电脑上,因此输入本机地址127.0.0.1)

  • 用户名即密码(即FreeFTPd上我们设置的用户名和密码)

  • 完成这几项设置后,就可以点击下方的连接进行连接测试。

出于安全和权限考虑,软件会进行几项权限询问,我们选择同意即可。

接着就能看到,本地用于SFTP传输的磁盘(文件夹)已经成功连接,这也算是对FreeFTPd的运行进行了测试,说明在局域网内已经可以正常用FreeFTPd执行SFTP协议连接。

2.3.Cpolar下载和安装

cpolar官网:https://www.cpolar.com/

接下来,我们就要安装SFTP服务器公共互联网发布的最后一个重要组件,也就是安装cpolar软件。Cpolar的安装十分简单,我们同样访问cpolar的官网,在官网找到下载按钮,找到适用操作系统的版本进行下载。

Cpolar下载完成后,将下载的压缩包解压,并双击解压后的.msi文件进入安装程序,接下来一路Next即可。

需要说明的是,cpolar主要通过使用者的用户名来建立该用户专属的数据隧道,因此我们需要在官网上注册,以便之后创建对应的数据隧道。

3.SFTP服务器的发布

在各项准备工作都完成后(安装FreeFTPd服务器,设置FileZilla站点,并本地连接FreeFTPd进行测试,安装并注册Cpolar),就可以正式进入FreeFTPd的公共互联网发布工作。

由于SFTP协议应用于文件传输,会对带宽有一定要求,同时对连接稳定性也有要求(即能够随时随地访问到),因此建议将cpolar升级到专业版及以上,以便能创建具备一定带宽和长期稳定存续的数据隧道(免费版cpolar每隔24小时会重置内网穿透数据隧道地址)。

3.1.Cpolar云端设置

想要建立稳定的内网穿透数据隧道,我们需要先登录cpolar的官网,点击官网主界面左侧的预留按钮,进入数据隧道预留设置页面。

在“预留”页面,我们找到保留的TCP隧道,并在此栏位对SFTP数据隧道进行几项简单设置。

保留的TCP隧道栏位,我们需要设置的项目只有两项,分别是地区(即服务器所在位置,就近选择即可)和描述(即这条TCP隧道的备注,只要能方便自己区分就行)。

完成这两项设置后,就可以点击栏位右侧的“保留”按钮,将这条空白数据隧道保留下来,并生成一个公共互联网地址,稍后我们在进行cpolar客户端设置时,会用到这个地址,因此可以先将其复制下来。

当我们不打算使用这条数据隧道时,也可以点击右侧的x将这条数据隧道删除。

3.2.Cpolar本地设置

回到安装了FreeFTPd服务器的电脑(当然我们也在这台电脑上安装了cpolar客户端),打开cpolar的客户端(可以在开始菜单中点击cpolar的快捷方式,也可以在浏览器中输入localhost:9200),用自己的账号密码登录后,点击cpolar主界面左侧隧道管理项下的创建隧道按钮,进入本地内网穿透数据隧道的设置页面。

当然,为了创建这条数据隧道,我们也需要对这条内网穿透数据隧道的特性进行设置,具体为:

  1. 隧道名称:可直接看做数据隧道的备注,为方便区分,我们仍将这条数据隧道的名称设为SFTP连接;
  2. 协议:即数据隧道的传输协议,如网页、数据传输、设备互联等,这里选择TCP协议;
  3. 本地地址:这里需要填入软件(或内网设备)的端口号,由于FreeFTPd的默认输出端口号为22,因此此处填入22;
  4. 端口类型:即这条数据隧道的类型,是否为长期存续的隧道。
    • 由于我们在cpolar云端设置了保留隧道,因此可以选择固定TCP端口(固定TCP端口要将cpolar升级至专业版及以上);
    • 若只是临时使用,则选择随机临时TCP端口
  5. 预留的TCP地址:在选择了“固定TCP端口”后就会出现该栏位,这里我们将cpolar云端生成的地址粘贴进来;

完成这几项设置后,就可以点击页面下方的创建按钮,生成一条完整的SFTP数据隧道

完成本地数据隧道的设置后cpolar客户端会自动转入隧道管理项下的隧道列表页面。在这个页面,我们能对这条数据隧道进行管理,如启动、暂停、删除这条数据隧道;也能看到这条数据隧道的运行情况(是否处于运行状态);还能通过“编辑”按钮对这条数据隧道的各项信息进行修改。

而这条数据隧道的入口(即公共互联网地址),则可以在装填项下的在线隧道列表页面找到。

在完成cpolar云端及客户端的数据隧道设置后,我们就能回到FileZilla软件,使用cpolar创建的数据隧道进行访问测试。

由于此时我们已经完成了对本地FreeFTPd的穿透和发布,因此已经可以在其他电脑的FileZilla软件上,设置新的SFTP传输站点,进行FreeFTPd远程访问。

4.公网访问测试

与前面的FileZilla的设置一样,我们先打开FileZilla客户端,并新建一个站点。为方便区分,笔者将这个站点命名为“Cpolar访问测试”,并将cpolar生成的公共互联网地址填入主机栏位;而端口栏位,则应该填入cpolar生成地址最后的几位数字;剩下的用户名和密码,则应填入FreeFTPd设定的用户名和密码。

设置完成后,点击页面下方的连接按钮,就可以连入局域网内的FreeFTPd服务器,对电脑上分享的文件资料进行操作。

5.结语

到这里,我们就成功完成了本地电脑的SFTP服务器设置,并让本地电脑上的资料文件,以SFTP协议进行传输,实现了随时随地调取、操作和访问本地电脑上文件资料的目的。当然,使用FileZilla进行远程访问只是为了方便演示,只要FreeFTPd服务器和cpolar数据隧道设置正确,我们也可以使用其他SFTP客户端软件访问本地电脑。

以上是关于搭建SFTP服务安全共享文件,实现在外远程访问「内网穿透」的主要内容,如果未能解决你的问题,请参考以下文章

Linux内网穿透使用SFTP工具快速实现内网穿透

1分钟快速搭建HTTP文件共享,支持远程访问及远程下载

远程访问及控制一切随心而控

服务器没有公网IP,如何实现在外地远程访问公司的ERP?

Windows上搭建远程访问服务

局域网IP地址无法访问 怎么办