我有两步解决方案,可通过SSH访问特定服务器:
步骤1,以bash表示:
ssh -L 127.0.0.1:5000:server2.com:22 server1.com
第2步,在新的bash会话中:
ssh -P 5000 127.0.0.1 # This gets me into server2.com
Q1:有什么方法可以将这两个命令组合为一个ssh命令,然后...
问题2:我可以在~/.ssh/config
中为此连接设置一个主机条目(允许我只输入ssh my-tunnel
吗?)?
我认为这归结为以某种方式链接主机。我对此很陌生,无法完全理解...
答案 0 :(得分:2)
我遇到this question,并为ssh支持跳转主机感到惊讶。
您可以使用单个命令连接到目标服务器,而ssh将注意中间跃点。
ssh -J server1.com server2.com
-J [user @] host [:port] 首先建立与跳转主机的ssh连接,然后建立TCP,以连接到目标主机 从那里转发到最终目的地。可以指定多个跳数,用 逗号字符。这是指定ProxyJump配置指令的快捷方式
这是SSH配置对应的跳转主机配置:
Host jumphost
Hostname server1.com
User $YOUR_USERNAME
Port 22
Host my-tunnel
Hostname server2.com
User $YOUR_USERNAME
Port 22
ProxyJump jumphost
...启用命令:ssh my-tunnel