¿Cómo puedo reescribir el siguiente comando con ProxyCommand
?
ssh -l username1 -t jumphost1 \
ssh -l username2 -t jumphost2 \
ssh -l username3 -t jumphost3 \
ssh -l username4 server
Esto no funciona
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
Soy consciente de su uso con nc
, pero estoy buscando la forma de usarlo con más de 3 saltos, y también uso esta opción con scp
. Revisé la ssh_config
página de manual, pero la información es bastante escasa, al menos para mí.
EDITAR
Intenté usar ProxyCommand
anidado en otro ProxyCommand
como se sugiere a continuación, pero siempre obtengo algo en las siguientes líneas
debug3: ssh_init_stdio_forwarding: 192.17.2.2:2222
debug1: channel_connect_stdio_fwd 192.17.2.2: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 no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
Afortunadamente, desde 7.3
-J
o ProxyJump
sirve mi propósito - aunque todavía a tener que trabajar alrededor de mi configuración de teclas.
ssh -q -J user1@jumphost1,user2@jumphost2,user3@jumphost3 user@server
scp
, porque SCP espera mensajes de control de SCP, pero en su lugar recibe mensajes de control SSH y falla. Por otro lado, loProxyCommand
hace de forma transparente y, por lo tanto, el más externossh
(oscp
) recibirá los mensajes directamente desde el otro extremo.>
aparece el mensaje donde está esperando romper la continuación de la línea, es decir, el comando nunca se ejecuta.%
debería funcionar:%%h
en su caso