Bootstrap

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服务(以及其他很多服务,都需要自己根据需求自行安装)。

20221203153757

使用apt命令进行安装,因为ubuntu是作为服务器,我们这里只安装server就行了,client的话有需求的可以自行安装。

apt install openssh-server

安装完毕后,再次尝试启动ssh服务,可以看到启动成功。
20221203154009

三、获取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命令尝试连接:

20221203154759

需要传输文件时,通过sftp协议即可,此处以SecureFX为例, 打开连接向导,输入ip地址,用户名和密码,即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzXDq4VL-1670054602988)(https://raw.githubusercontent.com/BingHugh/picgo/main/20221203154422.png)]

20221203154456

20221203154519

五、后记

需要注意的是,目前ssh服务并不会随着ubuntu子系统开机自启动,如果需要配置为开机自动启动的话,需要进行额外的配置。此处不再赘述。

;