我使用家用电脑通过 ssh 连接到公司服务器,执行以下操作:
ssh -p 2424 [email protected]
然后我再次远程登录到公司网络中的另一台服务器:
ssh internalcorporatehost
我可以设置一个 ssh 隧道来一步完成此操作吗,或者还有其他方法可以做到这一点?
答案1
设置[email protected]
为代理:
ssh -o 'ProxyCommand ssh -p 2424 [email protected] nc %h %p' internalcorporatehost
最好通过 中的别名来使用~/.ssh/config
,因此您只需输入ssh ich
:
Host ich
HostName internalcorporatehost
User user_name_on_internalcorporatehost
ProxyCommand ssh -p 2424 [email protected] nc %h %p
nc
是个网猫命令,该命令必须安装在网关机器上。如果没有,请安装任何可用的版本(您只需要基本功能)。您可能需要指示二进制文件的完整路径nc
(例如/home/oleg/bin/nc
)。
如果你的 ssh 客户端是 Putty,Stack Overflow 上的这个答案应该有帮助。
答案2
一个非常简单的解决方案就是隧道使用该标志SSH
通过另一个命令执行一个命令。SSH
-t
ssh -p 2424 -t [email protected] ssh internalcorporatehost
使其变得非常简单并且您不需要任何进一步的配置。