我可以通过使用另一个 ssh 服务器作为中介来访问 ssh 服务器吗

gab*_*tzi 6 networking ssh firewall

我有两台服务器

Server1 -> Static IP1 
Server2 -> Static IP2
Run Code Online (Sandbox Code Playgroud)

Server2的防火墙只允许从 Static IP1

我可以Server1从任何地方通过 ssh连接。

我如何Server2通过 ssh 一步从我的 PC连接到动态 IP 后面,而不是通过 ssh 连接到Server1然后再Server2Server1s shell 中执行另一个 ssh 到。

Ste*_*itt 11

如果您有 OpenSSH 7.3p1 或更高版本,您可以server1在单个命令中告诉它用作跳转主机:

ssh -J server1 server2
Run Code Online (Sandbox Code Playgroud)

有关旧版本,请参阅fcbsd答案

  • 如果您没有 -J,您可以使用 -W 和 ProxyCommand 指令模拟它。 (2认同)
  • 此外,您可以将主机配置添加到您的“~/.ssh/config”,以便与 server2 的连接始终通过 server1 跳转。这允许您对 server2 透明地使用 scp 和 rsync 等命令。 (2认同)