可以将这两个 ssh 命令合并为一个吗?

可以将这两个 ssh 命令合并为一个吗?

我在 Mac 10.9.1 上使用 bash。现在,我执行这两个命令,最终到达我想要访问的服务器

ssh me@intermediate

然后一旦登录,我执行

ssh me@destination

如果不经过中间服务器,就无法从我的机器运行“ssh me@destination”。是否可以以某种方式将这两个 ssh 命令合并为一行,这样我就可以登录到我的目的地?

答案1

ssh -t me@intermediate ssh destination

如果您在 Mac 和中间设备之间以及中间设备与目的地之间交换密钥,则不需要密码。

答案2

看看透明多跳 SSH

在您的示例中,将这些行添加到 ssh 配置中(通常~/.ssh/config):

Host intermediate
  User me
  HostName intermediate.example.com

Host destination
  User me
  ProxyCommand ssh -q intermediate nc -q0 destination.example.com 22

然后就运行ssh destination

相关内容