如何使用另一台服务器 ssh 到另一台服务器?

如何使用另一台服务器 ssh 到另一台服务器?

可能的重复:
通过多个主机进行 ssh

用于连接到服务器B我必须先 ssh 到服务器A。访问的命令行是什么服务器B

答案1

如果可以通过以下方式访问服务器 Bssh并且您只需要ssh(而不是直接scpsftp),这也非常有效:

ssh -t $SERVER_A ssh $SERVER_B

即使在另一端运行单个命令时,该-t选项也会强制分配伪终端。这很有帮助,因为ssh需要一个伪终端。

由于您使用的是 的两个嵌套实例ssh,因此内部会话中的转义字符是Enter ~ ~(两个波浪号)。一个波形符会将转义发送到第一个 shell。

答案2

ssh除了使用端口转发之外,没有内置的方法可以做到这一点。

然而,有一种方法相当有效——sshProxyCommand设置。您可以在每个主机的基础上进行指定,~/.ssh/config并使用它来指定要运行以连接到远程 ssh 端口的命令。

我在多个主机上使用它:

host serverB.example.com serverB
  ProxyCommand /usr/bin/ssh serverA.example.com /usr/bin/nc %h %p

ssh(1)有关详细信息,请参阅手册页,并nc(1)netcat包中查看我用来转发连接的命令。 (不过,您可以使用任何建立 TCP 连接并通过它传递标准输入和输出的东西。)

相关内容