如何通过另一个 SSH 服务器连接到一个 SSH 服务器

如何通过另一个 SSH 服务器连接到一个 SSH 服务器

我有A两个BSSH 服务器,我可以从任何地方连接到B,但A我只能从 连接到B。为了实现这一点,我通常连接到B然后输入ssh username@A

A我怎样才能通过而不输入两次 ssh 命令来连接?并保留同时B连接A和的可能性,这是我的愿望。B

答案1

您可以使用 NAT 来实现这一点。在 B 上的 PREROUTING 链中进行 DNAT。您可以将 B 上的端口 23 转发到 A 上的端口 22。

这显然要求总体上启用转发(在内核中)并且允许这种特定的转发(在防火墙中)。

答案2

通常的解决方法是

ssh A -L 2222:B:22

然后(从您的桌面,不是来自A)

ssh -p 2222 localhost

确实,这需要你执行两次登录,但仅限于第一次访问 B之后,您只需重复第二个命令,就可以重复使用现有隧道多次登录 B。

此外,如果您厌倦了一次又一次地输入密码,我建议您研究一下ssh-agent;设置起来很麻烦,但一旦完成就可以节省大量时间。

相关内容