通过通用 Linux ssh 服务器/客户端进行基本 ssh 隧道

通过通用 Linux ssh 服务器/客户端进行基本 ssh 隧道

我使用家用电脑通过 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

使其变得非常简单并且您不需要任何进一步的配置。

相关内容