准备
要有个外网可以访问的主机支持端口转发,比如一个独立IP的VPS (如 123.123.123.123)
局域网和 123.123.123.123,以 Ubuntu 为例
步骤
- 在 123.123.123.123 上编辑
vi /etc/ssh/sshd_config
增加或修改为GatewayPorts yes
,再重启 SSHsudo service ssh restart
- 在局域网内机器上执行
ssh -p 60 -NfR 2222:localhost:22 user@externalhost.com
(-N 仅做转发,-f 后台运行) - 任何外网机器访问 123.123.123.123 的 2222 端口,都会转发到 局域网内的这台机器
ssh -p 2222 lanPcUser@externalhost.com
(登录的时候使用局域网机器的用户)
更新: 如果局域网有 Linux 电脑或者 raspberry pi 的话,也可以安装 AutoSSH, 这个更稳定,并且在断线后自动重新连接。说明步骤 里说得清楚,远程端口转发的话,-L 变成 -R。