ssh远程连接wsl

ssh端口转发远程连接wsl

我将在下面几篇文章中讲述多种ssh连接另一局域网内的主机的方法。

本文通过设置端口转发,连接到另一主机上的wsl,适用于主机有公网ip或处于同一局域网内的情况。

1. 先在WSL2中安装openssh-server

sudo apt update
sudo apt install openssh-server

启动ssh服务,并设置WSL2启动时自动启动服务

sudo service ssh start
sudo systemctl enable ssh
sudo systemctl status ssh

如果要修改ssh的端口,到/etc/ssh/sshd_config中,修改Port字段即可。

  • 注意要保证wsl版本是wsl2,参阅:https://learn.microsoft.com/zh-cn/windows/wsl/install#upgrade-version-from-wsl-1-to-wsl-2

  • 还要启用systemd,参阅:https://learn.microsoft.com/zh-cn/windows/wsl/systemd

2. 查看wsl在局域网内的ip地址

wsl在宿主机上有一个唯一的ip地址,可以用这个ip地址进行ssh连接,用如下方式查看:

wsl hostname -I

结果形如:172.29.250.184

3. 设置端口转发规则,将宿主机2222端口转发到wsl的22端口

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=172.29.250.184 connectport=22

其中的connectaddress要设置为上一步的ip地址

4. 设置防火墙规则

netsh advfirewall firewall add rule name="Open Port 2222 for WSL2" dir=in action=allow protocol=TCP localport=2222

查看效果:

netsh interface portproxy show v4tov4

完成。

此时可以连接,使用命令:

ssh -p 2222 [email protected] #宿主机ip地址

参考:

https://www.cnblogs.com/Swetchine/p/18788107

https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine

你可能感兴趣的:(ssh,运维,服务器)