¿Existe alguna forma de utilizar una entrada ssh-config especificada previamente al especificar “Hostname”?
editar: He visto casos en los que esto funciona y casos en los que no, y no estoy seguro de entender cuándo/por qué sucede.
Supongamos que tengo una entrada lo suficientemente complicada donde especifico múltiples parámetros para llegar a thathost
:
Host thathost
ControlMaster auto
ServerAliveInterval 8
ConnectTimeout 8
Hostname 192.168.5.1
User mememe
ProxyJump thejumpbox
Quiero reutilizar esta definición para crear entradas adicionales que proporcionen funcionalidades diferentes al agregar o anular algunas configuraciones. Específicamente, especificar un puerto alternativo (no, no quiero hacerlo en la línea de comandos).
Idealmente, me gustaría poder hacer algo como esto:
Host theirhost
Hostname thathost
User themthem
o
Host my-remote-serialport
Hostname thathost
RequestTTY yes
RemoteCommand some-script-that-launches-kermit-on-a-specific-dev-tty
o
Host my-remote-serialport
Hostname thathost
Port 3004
Estoy buscando estrictamente especificar un host en términos de otro existente, no estoy buscando modificar mis entradas Host
para que coincidan con algún patrón “trucos”.
Obviamente puedo utilizar ProxyCommand ssh -q nc thathost...
o ProxyJump thathost
+ Hostname localhost
seguido de todas las demás anulaciones (bueno, para anular el puerto, lo pasaría a nc
), pero eso es tanto feo como ineficiente (una sesión adicional) – por favor, no respondas con eso.
Para mí, esta ha sido la característica faltante de ssh-config
, pero tal vez no busqué lo suficiente.
davy.ai
Para reutilizar una entrada de host complicada mientras se agregan o anulan algunas configuraciones, se puede utilizar la palabra clave
Include
en el archivo de configuración de SSH.Cree un archivo separado con las configuraciones que desea reutilizar y guárdelo con un nombre significativo. Por ejemplo, supongamos que desea reutilizar la configuración para ‘thathost’ y agregar una anulación de puerto, puede crear un archivo ‘thathost_config’ con el siguiente contenido:
Luego, en su archivo de configuración principal de SSH, puede utilizar la siguiente sintaxis para incluir la configuración reutilizable:
De esta manera, las configuraciones en ‘thathost_config’ se aplicarán a ‘theirhost’ y ‘my-remote-serialport’, y cualquier configuración adicional en el archivo de configuración principal de SSH anulará las de ‘thathost_config’.
Tenga en cuenta que la ruta al archivo incluido debe ser una ruta absoluta, no una ruta relativa.