numb3rs1x
numb3rs1x

Reputation: 5213

knife ssh with multiple jump hosts

I have a network that requires two jump hosts to get into from my workstation. My ~/.ssh/config looks like this: Host *.mgmt.example.com ProxyJump admin-1.prod.example.com,jump-1.example.com

This works fine for regular ssh but I can't seem to get knife ssh to connect. I tried adding --ssh-gateway admin-1.prod.example.com,jump-2.example.com to the command but it also doesn't seem to work. Is it possible to have knife ssh go through two proxies?

An example command based on the .ssh/config entry above: knife ssh "name:host-1.mgmt.example.com" "hostname"

numb3rs1x@workstation~:chef --version
Chef Development Kit Version: 3.2.30
chef-client version: 14.4.56
delivery version: master (6862f27aba89109a9630f0b6c6798efec56b4efe)
berks version: 7.0.6
kitchen version: 1.23.2
inspec version: 2.2.70

numb3rs1x@workstation~:knife ssh "name:host-1.mgmt.example.com" "hostname" -a fqdn
WARNING: Failed to connect to host-1.mgmt.example.com -- Net::SSH::Proxy::ConnectError: command timed out: ssh -J jump-1.example.com -W host-1.mgmt.example.com:22 admin-1.prod.example.com
ssh: connect to host jump-1.example.com port 22: Operation timed out
ssh_exchange_identification: Connection closed by remote host

numb3rs1x@workstation~:ssh host-1.mgmt.example.com
Warning: Permanently added 'admin-1.prod.example.com,10.5.0.9' (ECDSA) to the list of known hosts.
Warning: Permanently added 'jump-1.example.com' (ECDSA) to the list of known hosts.
Warning: Permanently added 'host-1.mgmt.example.com' (ECDSA) to the list of known hosts.
numb3rs1x@host-1:~$

Upvotes: 0

Views: 646

Answers (1)

coderanger
coderanger

Reputation: 54211

net-ssh-gateway doesn't directly support multiple hops, however the built-in proxyjump support in net-ssh should as long as you're on a very recent ChefDK. See https://github.com/net-ssh/net-ssh/commit/4ae3bb582b93787de0b7c91301318bf13b9c7012#diff-d81a1a91889532e56748e65ae9683a7c for details.

Upvotes: 1

Related Questions