Windows10的WSL Ubuntu,使用起来非常方便,但是美中不足的是,无法从Windows主机ssh到Ubuntu 。
解决的方法是在Ubuntu安装sshd服务
Ubuntu安装sshd服务
执行命令
sudo apt install openssh-server
安装好后,先本地测试:
ssh 127.0.0.1
测试通过后,查看Ubuntu的ip地址,使用命令
ifconfig
查看到ip地址是:172.25.183.186
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.183.186 netmask 255.255.240.0 broadcast 172.25.191.255
inet6 fe80::215:5dff:fe75:1e47 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:75:1e:47 txqueuelen 1000 (Ethernet)
RX packets 3095207 bytes 4536934402 (4.5 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1590487 bytes 113010617 (113.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
拿到ip地址后,就可以在Windows 10 ssh登录Ubuntu
ssh 172.25.183.186
测试登录成功。有了ssh服务,就可以:
使用Trae连接远程主机
打开Trae编辑器,
1 连接远程主机,写入ssh xxx@172.25.183.186 -A
2 点击SSH连接目标:172.25.183.186
好了,现在我们就可以远程编辑项目了!
下一次启动sshd服务
wsl的Ubuntu关闭后,再次启动,sshd服务不会跟着启动,需要手工运行一下:
sudo /etc/init.d/ssh start
或
sudo systemctl start ssh
当然也可以设置自动启动,但是有点麻烦
据说要这样做,先在WSL的Linux系统终端中输入以下命令来切换到systemd管理方式:
[-f /etc/wsl.conf] && sudo touch /etc/wsl.conf
sudo echo "[boot]" >> /etc/wsl.conf
sudo echo "systemd=true" >> /etc/wsl.conf
- 然后需要重启WSL服务,以管理员身份打开PowerShell输入命令
wsl --shutdown
,然后重新打开WSL的终端34。 - 切换到systemd后,通常不需要额外操作,因为openssh-server安装后默认会开机启动sshd服务。如果没有成功,可以尝试卸载并重新安装openssh-server,然后手动设置开机自动启动sshd服务:
sudo apt remove -purge openssh-server sudo apt install openssh-server sudo systemctl enable sshd