comodines de configuración ssh para evitar escribir nombre de usuario

12

Frecuentemente me meto en instancias de openstack. Todas las instancias están en un vlan y subred dedicados (10.2.xx). Todas las instancias tienen el mismo nombre de usuario (bob)

Me conecto así:

ssh [email protected]

o a veces así

ssh 10.2.x.x -l bob

¿Es posible configurar mi computadora portátil para usar automáticamente el nombre bob cuando ingreso en cualquier vm en la subred 10.2.xx? No quiero usar bob automáticamente cuando sshing en una máquina en cualquier otra subred.

Parece que ssh config no admite comodines. (Corrígeme si estoy equivocado). Estoy pensando que quizás un alias podría hacer esto, pero no estoy seguro de cuál sería la sintaxis.

Spuder
fuente

Respuestas:

18

La página de manual de ssh_config tiene una sección PATTERNSque detalla cómo puede hacer eso, puede usar comodines de *y ?. En mi ~/.ssh/config:

Host 172.16.*.*
   User drav

y luego al emitir ssh -vvv 172.16.13.1:

debug1: Reading configuration data /home/drav/.ssh/config
debug1: /home/drav/.ssh/config line 4: Applying options for 172.16.*.*
debug1: /home/drav/.ssh/config line 46: Applying options for *

Tenga en cuenta que estas coincidencias son canónicas, por lo que si "fred.mynetwork.com" en DNS es 172.16.13.1, la emisión ssh fred.mynetwork.comno coincidirá con la Host 172.16.*.*entrada. Sin embargo, siempre puede agregar una Host *.mynetwork.comentrada adicional para aplicar las mismas opciones cuando se utiliza un nombre DNS.

Drav Sloan
fuente
Sí, una entrada Host 10.2*hará el truco
Bananguin
Encontré 10.2. *. * Causó que mi clave fuera rechazada. Cambiar a 10.2. * Provocó que la conexión se realizara correctamente.
Spuder
1
Extraño, para mí el xx *. * Funciona: / ¡Al menos existe tu comentario si la gente encuentra problemas!
Drav Sloan el