我觉得我可能在我的研究中使用了错误的术语,这就是为什么我找不到我要找的东西。我所找到的只是关于如何设置反向SSH隧道和/或如何从隧道另一端的服务器到远程服务器的信息,但这不是我要找的。
我有许多远程服务器,它们建立到中央服务器的反向SSH隧道(我称之为“跳转服务器”,但我也看到它被称为“堡垒服务器”和其他术语)。这些反向SSH隧道可以正常工作,从“跳转服务器”本身出发,只需将SSH‘’ing到特定服务器隧道的端口号(使用-p标志),就可以将SSH发送到任何远程服务器。
但是,我要做的是从“跳转服务器”以外的服务器(甚至可能使用类似于PuTTY的服务器)通过“跳转服务器”,再到远程服务器。我确信这是可能的,但我对该命令的语法(或PuTTY的任何“隧道”特性)没有任何把握。
“跳转服务器”正在运行Ubuntu18.04。我尝试过从其他Ubuntu服务器和使用PuTTY的Windows服务器进行SSH‘’ing,但我的第一个目标是首先在两个Linux之间工作(PuTTY是一个额外的好处)。
反向SSH隧道从远程服务器设置为“跳转服务器”,在远程服务器上使用以下命令:
ssh -i /home/root/.ssh/rssh_rsa -f -K 10 -N -R 0:localhost:22 jump.example.com(请注意,在0之前的localhost会导致“跳转服务器”动态地为其隧道末端选择端口号)。
发布于 2019-02-05 03:27:39
我认为您所需要做的就是在隧道端点规范的开头添加*:。所以你会有*:0:localhost:22。这告诉ssh在所有接口上侦听,而不仅仅是在跳线隧道端点上监听localhost。
如果跳转有多个接口,您可以指定其中一个接口来侦听(例如,192.168.1.1:0:localhost:22)。
然后,您将只想要ssh -p NNN jump.example.com进入隧道。
希望这是显而易见的,但这意味着任何能够在跳线上连接到该端口的人都可以连接到远程服务器。相应地设置防火墙规则。
https://serverfault.com/questions/952294
复制相似问题