![我如何通过多个 ssh 跳转链接一个 tty](https://linux22.com/image/717277/%E6%88%91%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%A4%9A%E4%B8%AA%20ssh%20%E8%B7%B3%E8%BD%AC%E9%93%BE%E6%8E%A5%E4%B8%80%E4%B8%AA%20tty%20.png)
我有一个可以通过中间服务器访问的目标服务器,并且我想要一个从我的本地主机到目标服务器的终端,通过中间服务器。
无需在我的本地主机中打开端口。
答案1
您可以指定在建立 ssh 连接后立即在远程主机中执行的命令。因此,您可以打开与中间主机的连接,然后将另一个 ssh 连接链接到目标服务器。请记住,链接的命令将执行在远程主机上。如果某些 IP 地址由本地网络、NAT 后面等设置,这一点尤其重要。如果您需要更多跳数,则可以构建更长的链。
ssh -A -t -p middle-port middle-user@middle-server ssh -A -p target-port target-user@target-server
如果您需要在某些跳转中使用证书(比如,到达中间服务器),则应在链的第一级插入 -i 参数。如果是这种情况,系统可能会提示您输入密码:
ssh -i ~/mykey.pem -A -t -p middle-port middle-user@middle-server ssh -A -p target-port target-user@target-server