Windows使用ssh协议远程连接ubuntu linux子系统
一、Windows远程连接ubuntu linux子系统
当我们在windows上安装好ubuntu子系统后,肯定是需要远程进行连接的,比如我想用filezilla通过sftp协议传输点文件上去之类的,或者我使用vscode直接通过ssh协议进行远程登录开发等等,那么还是需要一点额外的配置的。
我们需要确保两件事:
- ubuntu子系统开启了ssh服务
- 我们需要知道ubuntu子系统的ip地址
二、开启ubuntu ssh服务
我们先直接打开ubuntu子系统,通过windows菜单或windows store或windows terminal都行,登录进去,可以是普通用户,也可以用root用户,根据自己的实际情况来,这里示例的是以普通用户登录后切换到root用户后执行的情况。
尝试启动ssh服务:
service ssh start
发现ubuntu上启动ssh服务启动不了,因为ubuntu子系统属于精简版本,并没有自带ssh服务(以及其他很多服务,都需要自己根据需求自行安装)。
使用apt命令进行安装,因为ubuntu是作为服务器,我们这里只安装server就行了,client的话有需求的可以自行安装。
apt install openssh-server
安装完毕后,再次尝试启动ssh服务,可以看到启动成功。
三、获取ubuntu子系统的ip地址
执行
ifconfig
发现找不到相关服务,原因同上,因为ubuntu并没有自带这个命令,需要自己安装。
执行以下命令进行安装即可
apt install net-tools
安装完毕后,重新使用ifconfig命令查看ip地址,我这里是192.168.3.2:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WGALQBun-1670054602988)(https://raw.githubusercontent.com/BingHugh/picgo/main/20221203154312.png)]
四、从windows上通过ssh连接到ubuntu子系统
在windows的终端上,使用ssh命令尝试连接:
需要传输文件时,通过sftp协议即可,此处以SecureFX为例, 打开连接向导,输入ip地址,用户名和密码,即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzXDq4VL-1670054602988)(https://raw.githubusercontent.com/BingHugh/picgo/main/20221203154422.png)]
五、后记
需要注意的是,目前ssh服务并不会随着ubuntu子系统开机自启动,如果需要配置为开机自动启动的话,需要进行额外的配置。此处不再赘述。