Reputation: 5213
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
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