Windows 10搭建SFTP服务器公网远程访问
Posted Lisa Cpolar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 10搭建SFTP服务器公网远程访问相关的知识,希望对你有一定的参考价值。
相较比高效率的FTP协议而言,SFTP默认只占用一个TCP端口 22端口,采用的是SSH加密隧道,理论上会比FTP更安全,更稳定些。
搭建SFTP服务器,这里我们用freesshd来实现;而在服务器搭建成功后,要实现公网访问,我选择用cpolar内网穿透
,支持http/https/tcp协议,不限制流量,无需公网IP也不用设置路由器,使用比较简单,本地安装完成后,创建隧道映射22端口获取公网TCP端口地址来实现远程连接就可以了。
1. 搭建SFTP服务器
1.1 下载 freesshd 服务器软件
-
选择
freeFTPD.exe
下载 -
下载后,点击安装
-
安装之后,它会提示是否启动后台服务,选择
Yes
-
点击开始菜单—— freeFTPd,注意:这里要点击鼠标右键,
以管理员权限
打开freeFTPd,如果以普通用户打开freeFTPd,将无法保存配置。
- 主图口如下,我们看到SFTP状态为未启动。
1.3 启动SFTP服务
- 选择SFTP,如下图,我们看到当前SFTP状态为Stopping,我们点击
start
按钮。
- 状态将变为Running…,如下图。
1.4 添加用户
- 选择Users选项窗口,点击Add按钮,添加用户。
-
这里添加一个测试用户aaa,认证方式可以选择WINDOWS验证和密码验证,本例我们选择独立密码验证。
-
用户目录,我们为用户单独创建一个SFTP的根目录。
-
创建好以后,点击
Apply
按钮保存。 -
以及别忘了配置SFTP根目录文件夹的目录权限.
1.5 保存所有配置
- 点击下图
Apply & Save
按钮。保存所有配置写配置文件。
注意:如果弹出不能写入配置错误窗口,说明您之前是用普通用户启动的freeFTPd,无法保存配置文件。需要以管理员权限重新打开freeFTPd,才能正常写入配置文件。重新执行步骤1,再次保存。
- 保存后的结果如下图。
2. 安装SFTP客户端FileZilla测试
- 安装后打开,如下图
2.1 配置一个本地SFTP站点
- 在软件工具栏点击
打开站点管理器
,如下图。
- 点击
新站点
按钮。
我们创建一个新站点,名称可自定义。
- 选择协议:为SFTP
- 服务器IP:因为就是在服务器上,选择127.0.0.1
- 端口号:选择 22
- 用户名:为我们搭建sftp服务器时,创建用户,本例为aaa
- 密码:输入用户aaa的密码
配置好后,点连接
按钮。
- 提示是否保存密码,点击确定。
- 初次连接时,会提示是否信任该主机,打勾,并确认。
2.2 内网连接测试成功
- 我们可以看到,已经可以获取到服务器端的目录列表,说明连接成功。
3. 实现公网远程访问SFTP
3.1 安装cpolar内网穿透
- 公网远程访问,我们用cpolar内网穿透来实现。进入cpolar官网,注册一个账号,然后下载安装包解压一路默认安装即可。
cpolar官网:https://www.cpolar.com/
- cpolar安装完成后,我们打开浏览器访问127.0.0.1:9200,使用刚刚注册的cpolar邮箱账号登录cpolar web ui管理界面
3.2 创建SFTP隧道
选择左侧仪表盘的隧道管理
–创建隧道
,我们来创建一个新隧道,指向22端口,tcp协议:
- 隧道名称:tunnel-sftp (您可以自定义,不重复即可)
- 协议: TCP
- 本地地址:22
- 地区: 本例中选择China Top
点击创建
按钮。
隧道创建成功后,可以在隧道列表中,查看到我们刚刚创建的隧道。
3.3 获取公网地址
点击左侧仪表盘的状态——在线隧道列表,可以看到本地所有在线隧道的公网地址。可以看到我们刚刚所创建的SFTP隧道的公网地址为 3.tcp.cpolar.top:12284
,其中3.tcp.cpolar.top
是公网地址,12284
是端口号。
4. 使用SFTP客户端,连接公网地址测试
4.1 添加新站点
我们打开filezilla,按步骤2的操作方式,重新添加一个新站点。在工具栏里,打开站点管理器,添加新站点。
我们这次给站点起名为cpoalr sftp
- 协议:SFTP
- 主机: 3.tcp.cpolar.top (本例中可能跟您的不一样,参考在线隧道列表)
- 端口:12284 (本例中可能跟您的不一样,请参考您的在线隧道列表)
4.2 以公网方式,连接sftp服务器成功
可以看到,已经通过cpolar提供的公网域名,连接SFTP服务器成功。
PS:如果出现中文目录乱码的问题,可以通过在SFTP客户端里配置字符集来解决:
- 将字符集设置为
GBK
- 【由于目前大多数linux字符集为了通用,以及都改为了UTF-8,而Windows默认字符集为GBK,所以只需要将其将字符集设置GBK,就不会乱码了】
PS:需要注意的是,由于本例中使用的是免费套餐,sftp站点的公网地址及端口会在24小时内变化,经常使用比较不方便。可以升级到专业套餐以上,并配置成固定TCP端口地址隧道,同时带宽也会增大到3M。
windows defender和windows firewall
Windows defender:
Windows Defender,曾用名Microsoft Anti Spyware,是一个杀毒程序,可以运行在Windows XP和Windows Server 2003操作系统上,并已内置在Windows Vista,Windows 7,Windows8和Windows10,随Windows 10更新而持续更新。只支持正版的Windows用户,有很多最新技术只在Windows 10平台展现,Windows 7及以下正版用户建议使用MSE来防御威胁。
优点:1.微软官方出品,对于Windows的兼容性有着独一无二的优势,只防御真正的威胁,而不会误杀善意软件。
2.基于云的技术,病毒库高度整合,更新速度极快,能够防御和查杀最新的威胁。
3.简约不简单,界面友好,无任何多余花哨功能,专注杀毒防护。
4.系统资源占用低,采用最新的防御技术,查杀率高。
5.只有在处理威胁时才会告知用户,平时察觉不到它的存在,0骚扰,0打扰。
6.最新的Windows Defender内置Windows 10中,随Windows 10更新而持续更新。
Windows firefall
Windows Firewall是windows系统自带的防火墙所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
Windows firewall服务:为家庭和小型办公网络提供网络地址转换、寻址、名称解析和/或入侵保护服务。说白就是WINDOWS自带的防火墙。
从上面可以看出,windows defender是一种杀毒程序,类似于360。而windows firewall是windows自带的防火墙。
之前我和实验室的同学互ping了一下(都是win10),在同一局域网可是ping不通。我就关闭了“windows 防火墙”,如下图:
这样就互ping成功。。。。
以上是关于Windows 10搭建SFTP服务器公网远程访问的主要内容,如果未能解决你的问题,请参考以下文章
windows服务器自带IIS搭建网站并发布公网访问内网穿透
私有云 Windows IIS搭建webdav服务实现公网文件共享「内网穿透」