【问题标题】:How to do ssh jump over two jump hosts in command line如何在命令行中 ssh 跳过两个跳转主机
【发布时间】:2018-08-27 04:42:00
【问题描述】:

我无法使用 ssh 连接链来工作。

链: 我的电脑 -> jumphost -> Bastion -> 我的应用 X 主机(与 Bastion 共享子网)

-Jumphost 期望私钥 A

-Bastion 和 X 主机都需要私钥 B

my pc> ssh -i /path_to_priv_key_for_X/id_rsa -o StrictHostKeyChecking=no -o 
"ProxyCommand ssh -p 22 -W %h:%p -o \"ProxyCommand ssh -p 24 -W %h:%p 
-i /path_to_key_jump/id_rsa jumphostuser@jumphostdomain\"     -i 
/path_to_bastion_key/id_rsa bastionuser@ip_to_bastion" myappuser@subnet_ip

上面不行,但是

ssh -i  /path_to_bastion_key/id_rsa -o "ProxyCommand ssh -p 24 -W 
%h:%p -i /path_to_key_jump/id_rsa jumphostuser@jumphostdomain" 
bastionuser@ip_to_bastion

有效,所以我可以用一个班轮访问堡垒,但是在命令链中添加 app x host 不起作用,想知道为什么?

我可以像这样一步一步手动访问myapp X主机

mypc> ssh -p 24 -i path_to_key_jump/id_rsa jumphostuser@jumphostdomain
jumphost> ssh -i /path_to_bastion_key/id_rsa bastionuser@ip_to_bastion
bastion> ssh myappuser@subnet_ip
myapp>

如何在命令行中在没有 ssh 配置的情况下在两个需要不同密钥的跳转主机上进行两次跳转?

【问题讨论】:

  • 你能把私钥复制到你的电脑吗?然后,如果您在 PC 上设置 ssh-agent 并同时启用代理转发,-o ProxyJump=jumphostuser@jumphostdomain,bastionuser@ip_to_bastion 之类的东西可能会起作用。

标签: ssh


【解决方案1】:

对我来说非常有用的是带有-J 选项的 ssh:

 -J destination
         Connect to the target host by first making a ssh connection
to the jump host described by destination and then establishing a TCP
forwarding to the ultimate destination from there. 

其实我说的是很久没意识到的它的特性:

Multiple jump hops may be specified separated by comma characters.

所以像PC -> jump server 1 -> jump server 2 -> target server 这样的多跳(在我的例子中:PC -> vpn -> vnc -> ece server 可以用一个组合完成:

$ ssh -J vpn,scs694@tr200vnc rms@tr001tbece11

当然,最方便的是使用 ssh 密钥打开无密码连接(PC->vpnvpn -> vncvnc -> target

希望对你有帮助 贾雷克

【讨论】:

    【解决方案2】:

    添加到上面。我的用例是三跳到数据库服务器,它看起来像服务器 1(基本身份验证)-> 服务器 2(令牌)-> 服务器 3(基本身份验证)-> 数据库服务器(端口转发)。

    经过几个小时的动荡,解决方案是:

    ssh -v -4 -J username@server1,username@server2 -N username@Server3 -L 1122:dbserver:{the_database_port_number}
    

    然后我可以让 DB 客户端点击 localhost:1122,其中 1122 可以是本地主机上的任何空闲端口号。

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 2020-10-26
      • 2023-04-01
      • 1970-01-01
      • 2017-06-04
      相关资源
      最近更新 更多