同个局域网有机器A(windows)和机器B(linux),A没有公网,B有公网,以及可以通过公网访问B的机器C(windows),现在需要从机器C访问机器A,那么需要在外网机器C上执行:
ssh -N -f -L 机器C本地端口:机器A内网地址:机器A远程桌面端口 -p 机器B外网端口 机器B账号@机器B外网地址
比如:
ssh -N -f -L 33389:192.168.1.2:3389 -p 22 root@1.1.1.1
其中:
机器A远程桌面:192.168.1.2:3389
机器B的ssh:1.1.1.1,端口22,root账户
机器C的本地未占用的端口:33389
建立连接后,机器C就可以通过访问127.0.0.1:33389来访问机器A的远程桌面