我有一个通过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命令,然后
Q2:我可以在~/.ssh/config
中为此连接设置一个主机条目吗(允许我只键入例如ssh my-tunnel
(?
我想这可以归结为以某种方式链接主机。我是新手,不太明白。。。
我遇到了这个问题,并对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