
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/config
permitirme 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/config
el 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/config
para 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 nc
los 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/config
la 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/config
no es rojo.
2) Cambiar ~/.ssh/config
la 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.