TL; DR

TL; DR

Mi objetivo es, si es posible, conectarme a través de

$ ssh host final

Porque necesito una conexión ssh para hacer un túnel para una conexión a mysql, que punto final puede hacer pero hop-host no.

TL; DR

De hecho, estoy buscando una manera de .ssh/configpermitirme hacer

host final ssh

Cuando detrás de escena haría

ssh -t hop-host ssh final-host



Cuando la acción detrás de escena es

Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)

Donde el host final, el usuario del host final y el archivo de identidad del host final se conocen y definen en /home/hop-user/.ssh/configel host de salto.

macbook~/.ssh/config

Host hop-host
    User hop-user
    Hostname valid.tested.public.ip.address.to.hop.host
    IdentityFile ~/.ssh/id_rsa

Host end-host
    HostName end-point-hostname-as-defined-on-hop-host
    ProxyCommand ssh -W %h:%p hop-host

Host de salto Cent OS ~/.ssh/configpara usuario de salto

Host end-point-hostname-as-defined-on-hop-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    IdentityFile ~/.ssh/keys/endhost

Limitación a tener en cuenta: No puedo cambiar ninguna configuración en los hosts de salto/final y no nclos tengo instalados.

Problema actual con la configuración dada.

$ ssh end-host
canal 0: error de apertura: prohibido administrativamente:
error de apertura ssh_exchange_identification: conexión cerrada por el host remoto

cosa que funciona:

$ ssh -t hop-host ssh punto-final-nombre-host-como-definido-en-hop-host

me indica correctamente end-host-bash$ y me permite hacer lo que quiera desde allí

Cosas que no funcionan o funcionan parcialmente y que probé

1) Cambiar ~/.ssh/configla configuración del host final de Macbook para el nombre de host y el usuario

Host end-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    ProxyCommand ssh -W %h:%p hop-host

$ ssh host final
[correo electrónico protegido]contraseña de:

Que obviamente no tengo. Y supongo que es porque el hop-host .ssh/configno es rojo.

2) Cambiar ~/.ssh/configla configuración del host final de Macbook para ProxyCommand

Host end-host
    ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host

$ ssh end-host
El pseudoterminal no se asignará porque stdin no es un terminal.
El pseudoterminal no se asignará porque la entrada estándar no es un terminal.
: comando no encontrado 2.0-OpenSSH_6.2
ls
^CKeliminado por la señal 2.

bash me devuelve la posibilidad de escribir pero no se muestran mis comandos.
Entiendo que esto se debe a que hay una llamada -o ProxyCommand="the command in .ssh/config in the right host"detrás de escena, pero es posible que me falte entender cómo funciona realmente.

información relacionada