How can I rewrite the following command with
ssh -l username1 -t jumphost1 \ ssh -l username2 -t jumphost2 \ ssh -l username3 -t jumphost3 \ ssh -l username4 server
This doesn't work
ssh -o ProxyCommand="\ ssh -l username1 -t jumphost1 \ ssh -l username2 -t jumphost2 \ ssh -l username3 -t jumphost3" \ -l username4 server username1@jumphost1's password: Pseudo-terminal will not be allocated because stdin is not a terminal. Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). ssh_exchange_identification: Connection closed by remote host
I'm aware of its use with
nc, but I'm searching for way to use it with 3+ hops, and also use this option with
scp. I checked
ssh_config man page, but the information is quite scarce, for me at least.
I tried using
ProxyCommand nested in another
ProxyCommand as suggested below but I always get something along the following lines
debug3: ssh_init_stdio_forwarding: 220.127.116.11:2222 debug1: channel_connect_stdio_fwd 18.104.22.168:2222 debug1: channel 0: new [stdio-forward] debug2: fd 4 setting O_NONBLOCK debug2: fd 5 setting O_NONBLOCK debug1: getpeername failed: Bad file descriptor debug3: send packet: type 90 debug2: fd 3 setting TCP_NODELAY debug3: ssh_packet_set_tos: set IP_TOS 0x10 debug1: Requesting email@example.com debug3: send packet: type 80 debug1: Entering interactive session.
ProxyJump serves my purpose — although I still to have to work around my keys setup.
ssh -q -J user1@jumphost1,user2@jumphost2,user3@jumphost3 user@server