Pregunta Convenientemente SSH para hosts internos?


Recientemente descubrí que con ~/.ssh/config, Puedo guardar muchas pulsaciones de teclas y automatizar líneas de comandos largas, especificando una gran cantidad de valores predeterminados por host. Ahora que noté cuán poderosa puede ser la herramienta, me pregunto si puede encajar en otro de mis casos de uso.

Tengo acceso a dos hosts, bastion y wikispy. Bastion tiene una IP externa, wikispy solo es visible desde el interno. Esto significa que normalmente para conectarse a wikispy, Necesito ir a bastion primero y luego llamar ssh wikispy. Obviamente, cosas como el reenvío de puertos se van a complicar de esta manera y esto es algo que me gustaría evitar.

Esto lleva a una pregunta: ¿puedo de alguna manera hacer ~/.ssh/config entrada que indicaría "cuando el usuario solicite el host etiquetado" wikispy, en realidad conectarse a bastion, luego llame ssh wikispy"¿Sería posible trabajar de forma transparente para poder llamar cosas como ssh wikispy -L 9999:localhost:9999 y tiene bastion reenviar el puerto de una manera que me permita acceder desde dentro de wikispy?


1


origen


inf de #hackerspace-pl@irc.freenode.net me señaló allí: sshmenu.sourceforge.net/articles/transparent-mulithop.html - d33tah


Respuestas:


Parece que aquí es donde una combinación de ProxyCommand y nc demuestra ser útil Aquí hay una solución: agregue lo siguiente a ~/.ssh/config:

Host bastion
HostName EXTERNAL_IP
User d

Host wikispy
HostName INTERNAL_IP
User d
ProxyCommand ssh bastion nc -q0 %h 22

De acuerdo a Este artículo, puede obtener más de un nivel de anidación de esta manera.


1