caractères génériques de configuration ssh pour éviter de taper le nom d'utilisateur

12

Je ssh fréquemment dans les instances openstack. Toutes les instances se trouvent sur un vlan et un sous-réseau dédiés (10.2.xx). Toutes les instances ont le même nom d'utilisateur (bob)

Je me connecte comme ça:

ssh [email protected]

ou parfois comme ça

ssh 10.2.x.x -l bob

Est-il possible de configurer mon ordinateur portable pour utiliser automatiquement le nom bob lorsque je ssh dans n'importe quel vm sur le sous-réseau 10.2.xx? Je ne veux pas utiliser automatiquement bob lors de la connexion à une machine sur un autre sous-réseau.

Il semble que ssh config ne supporte pas les caractères génériques. (Corrigez-moi si je me trompe). Je pense qu'un alias pourrait peut-être faire cela, mais je ne suis pas sûr de la syntaxe.

spuder
la source

Réponses:

18

La page de manuel ssh_config a une section PATTERNSqui détaille comment vous pouvez faire cela, vous pouvez utiliser des caractères génériques de *et ?. Dans mon ~/.ssh/config:

Host 172.16.*.*
   User drav

puis à l'émission 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 *

Notez que ces correspondances sont canoniques, donc si "fred.mynetwork.com" dans DNS est 172.16.13.1, l'émission ssh fred.mynetwork.comne correspondra pas à l' Host 172.16.*.*entrée. Cependant, vous pouvez toujours ajouter une Host *.mynetwork.comentrée supplémentaire pour appliquer les mêmes options lorsqu'un nom DNS est utilisé à la place.

Drav Sloan
la source
Oui, une entrée Host 10.2*fera l'affaire
Bananguin
J'ai trouvé 10.2. *. * A provoqué le rejet de ma clé. Le passage à 10.2. * A entraîné la réussite de la connexion.
spuder
1
Étrange, pour moi le xx *. * Fonctionne: / Au moins il y a votre commentaire si les gens trouvent des problèmes!
Drav Sloan