服务器和Windows本地电脑经常需要反复上传下载文件,对于初级用户来说通常会建议其下载类似于winscp 之类的软件。但是这类高频操作有没有无需借助其它软件更方便的方法呢?
本教程使用前提:
- Windows 系统为win10 且已经可以正常使用 Ubuntu 子系统
- 安装有 Xshell 这类可以用来链接服务器的工具
- 最好安装有 vs code 本地编辑器
- 所有测试是在内网之间进行且本地电脑为网线连接有固定IP地址
开启 win10 Ubuntu 子系统的 SSH 服务
进入 win10 Ubuntu 子系统安装 openssh 服务(如果已经安装可以直接跳过),并修改相关配置
sudo apt-get install openssh-server
sudo vi /etc/ssh/sshd_config
# 默认端口是 22,也可以修改为其它自己喜欢的和Windows不冲突的端口。
# 如果只希望监听固定的IP 也可以进行相关的设置。
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
# 其它设置基本不用修改,也可以根据自己的需要定制
确定本机的IP地址
bash 中可以使用 /sbin/ifconfig
进行查看,int 后面跟的就是IP地址, 当然,也可以通过网络设置,查看ipv4 的属性即可。
启动SSH
生成SSH key 并启动SSH
sudo dpkg-reconfigure openssh-server
sudo service ssh start
# 会出现如下提示
#* Starting OpenBSD Secure Shell server sshd
# 如果不确定服务是否开启,可以使用 service ssh status 查看状态
开机本机防火墙
接下来需要开启本地的防火墙才可以开启访问, 在安全中心中选择防火墙和网络保护,然后选择高级设置。
在高级设置中选择新建入站规则
然后依次选择端口,TCP 再填入设置的端口,然后一路操作最后命名保存即可。
实际效果
Xshell 连接本地电脑
有些人找不到Windows 本地好用的命令行工具,有些人推荐使用git,我更推荐在 vs code 中调用本地bash,现在开通ssh 后就可以在 xshell 这类软件中通过ssh
登陆了。
通过 scp 直接传文件
如果需要临时把一些服务器上的文件传到本地电脑,就不再需要打开winscp这类软件了。直接使用 scp 命令就可以轻松传到电脑上,非常开心。