Windows 10下通过云服务器和Beyond Compare的远程文件对比
所需材料
有公网IP地址的云服务器一台。
安装有Windows 10的设备两台。
目标
通过有公网IP地址的云服务器,实现两台没有公网地址的设备之间基于Beyond Compare的远程文件对比。
Windows 10配置
在需要被远程连接的设备上进行如下配置。
在设置>>系统>>可选功能
中添加OpenSSH 客户端和OpenSSH 服务器;在服务>>服务(本地)
中找到OpenSSH SSH Server,将其启动并设置为自动。
在控制面板>>系统和安全>>Windows Defender 防火墙>>高级设置>>入站规则
中点击新建规则…;在规则类型中选择端口;在协议和端口中选择TCP和特定本地端口,并输入22;在操作中选择允许连接;在配置文件中选择域、专用和公用。
云服务器配置(以OpenCloudOS 8为例)
输入命令sudo vim /etc/ssh/sshd_config
将#GatewayPorts no修改为GatewayPorts yes。
在防火墙中添加如下规则。
来源为0.0.0.0/0;协议为TCP;端口为1234(任意可用的都行);策略为允许。
Windows 10配置
在需要被远程连接的设备(假设为设备A)上打开Windows PowerShell,并输入ssh -R 1234:127.0.0.1:22 -fN root@xx.yy.zz.kk
。
其中,1234为云服务器中放通的端口;127.0.0.1:22为需要被远程连接的设备的本地地址和端口;xx.yy.zz.kk为云服务器的公网IP地址。
在需要与设备A中的文件进行远程对比的设备上打开Beyond Compare。
点击文件夹比较;点击浏览文件夹;点击FTP 配置文件;在协议中选择SFTP (SSH2);在主机中输入xx.yy.zz.kk;端口为1234;用户名为设备A的用户名;密码为设备A的密码;点击连接并浏览即可。
Windows 10的用户名和密码比较迷,多尝试几个组合。
在如果遇到文件(夹)名中文乱码的情况,参考下述步骤将服务器的编码设置为UTF-8。
疑难杂症
在如果遇到文件(夹)名中文乱码的情况,参考上述步骤仍无法解决,可能可以通过更新被远程连接的设备的SSH解决(尚未验证)。
另记(与本文无关)
在服务>>服务(本地)
中可以找到OpenSSH Authentication Agent。
另一种安装SSH的方法
下载SSH/SSHD并安装,可以参考以下网址。
https://github.com/PowerShell/Win32-OpenSSH/releases
下载OpenSSH-Win64.zip,解压后以管理员身份运行PowerShell,路径定位到解压后的文件夹,再运行以下命令即可安装SSH。
.\install-sshd.ps1
会把路径自动添加到环境变量里,但是需要重启电脑才能使用。