Si su cliente ssh es lo suficientemente nuevo, puede usar la Match
palabra clave del archivo de configuración para tener una configuración condicional basada en el puerto de destino.
Match host somehost exec "test %p = 42"
IdentityFile ...
El ejemplo anterior solo aplicaría la línea "IdentityFile" si el host de destino es "somehost" y el puerto de destino es 42. Match
funciona de la misma manera Host
que las líneas que le siguen (hasta la siguiente línea Match o Host) solo se aplican a las sesiones que coinciden el criterio. En el ejemplo, la línea Match verifica que el host sea "somehost", y también ejecuta un comando externo que se considera que coincide si el comando sale con el estado 0.
El comando que se ejecuta aquí es test %p = 42
. "% p" será reemplazado por el valor del puerto que ssh usaría hasta ese punto (ya sea el valor predeterminado de 22 o el valor de la línea de comando). test
también se conoce como [
; Es una utilidad de línea de comandos utilizada principalmente en scripts de shell como parte de una if
declaración. Aquí, test
se está utilizando para probar si el número de puerto es 42.
La Match
palabra clave ssh_config se agregó a OpenSSH en la versión 6.5 o 6.6. Consulte su ssh_config
página de manual para ver si está disponible en su sistema.