很多文章要么只有安装 wsl 和 ssh,要么只有设置端口转发,完全不能一篇文章解决标题中的问题

由于最近不在办公室,需要远程登录办公室的电脑,这样可以节省很多时间去配置各种命令
回归正题,首先你需要确定你可以远程访问你的 windows 电脑(不能远程访问的可以退出了),而 wsl 可以看作和 Windows 在同一“路由器”下的电脑,远程登录需要开启“路由器”的端口转发功能,将 wsl 的 ssh 端口转发到远程可以访问的“路由器”网段下

我这里的 wsl 是 ubuntu 系统,如果你是其他系统,下面提到的 wsl 部分命令需要替换

操作步骤

  1. 在 wsl 中使用 ifconfig 命令查看 IP,假设为 10.10.10.2
  2. 使用管理员权限打开 cmd,我这里是将 wsl 的 ssh 端口转发到 windows 的 22222 端口
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22222 connectaddress=10.10.10.2 connectport=22
  1. 放行 windows 的 22222 端口,WSL2 是这条放行规则的别名
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=22222
  1. 在 wsl 中开启其他地址的访问权限
sudo vim /etc/hosts.allow # 在最下方添加 ALL:ALL
sudo service ssh restart
FAQs

Q : 远程连接时出现 ssh_exchange_identification:read:Connection reset by peer
A : 执行上面的第 4 步,开启访问权限

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐