Putty确实支持ssh隧道,如果展开Connection(连接)SSH树,则会看到隧道条目。
本地隧道会在Windows机器上打开一个localhost端口,该端口可远程访问您指定的IP地址和端口。例如,当我尝试将RDP连接到家里的桌面时,通常会选择一个随机的本地端口(例如7789),然后将桌面的本地IP地址(1.2.3.4:3389)设置为远程主办。确保单击“添加”,然后单击“应用”。此时,当您rdp到127.0.0.1:7789时,您将通过腻子会话连接到1.2.3.4:3389。
这就是乐趣所在。如果您随后在中间盒上设置端口隧道,设置您指定为腻子中远程端口的本地端口,则可以通过腻子弹跳,通过中间盒到达最终目的地。您仍然需要做一些ssh连接,但是一旦设置完成,您就可以直接从Windows系统越过vnc或rdp,我相信您正在这样做。
例
- 转到Putty中的“隧道”面板(如果ssh会话已经处于活动状态,则可以从上下文菜单访问Connections-> SSH-> Tunnel,或者在刚启动腻子时在开始的连接屏幕中访问)
- 创建具有本地源15900和远程源127.0.0.1:15900的隧道
- 连接(如果尚未连接)到Gateway1。
- 在Gateway1上,ssh -L 127.0.0.1:15900:VNCServerIP:5900 user @ Gateway2
- 一旦通往Gateway2的ssh启动,尝试将vnc切换到127.0.0.1:15900 -现在您应该会在远端看到VNC屏幕!
增加的奖励 -很少有人知道这一点,但是此过程也可以用于代理IPv6 / IPv4流量。SSH不在乎它为隧道使用什么协议,因此理论上您可以从仅IPv4的系统访问仅IPv6的主机,因为ssh服务器是双协议栈(具有IPv4和IPv6地址)。