ssh -R 反向隧道
使用ssh -R 8022:localhost:22 -N username@server.com 就能在远程服务器打开一个端口8022,发送给这个端口数据将转发给本机22端口。
默认情况下远程服务器端口绑定在lo网卡上,所以只有远程服务自己可以使用8022端口。
如果需要其他机器也能访问服务器8022端口,需要这样写:ssh -R *:8022:localhost:22 -N username@server.com, 要开启这个选项需要服务器sshd config :GatewayPorts option is enabled(我自己没有成功)
我自己的使用情况:
自己家里的电脑A和公司测试服务器B 都处于内网,正常时访问不到的。
国外服务器C(server.com)
电脑A 执行 ssh -R 8022:localhost:22 -N username@server.com
电脑B 执行 ssh -R 8023:localhost:22 -N username@server.com
这样我在任何地方都能通过服务器C去访问电脑A或者电脑B