我在 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
。