3 votes

Comment puis-je utiliser des clés ssh différentes pour user1@host et user2@host, sans recourir à des noms d'hôtes alias ?

J'ai un serveur CentOS distant, supposons qu'il s'appelle hostname.com.

hostname.com a plusieurs comptes d'utilisateur, et je veux me connecter à ce serveur en tant que n'importe lequel de ces utilisateurs (en utilisant les clés ssh plutôt que le mot de passe).

Il semble que tout le monde recommande de modifier ma configuration ssh locale, d'ajouter un alias au serveur pour chaque utilisateur distant, puis de fournir un IdentityFile différent pour chaque alias.

Alors, je dois ssh bob@aliased_hostname1 y ssh alice@aliased_hostname2

Existe-t-il d'autres solutions ? Je préférerais ne pas avoir à utiliser des noms d'hôtes aliasés.

Idéalement, je veux juste ssh bob@hostname.com o ssh alice@hostname.com et choisir automatiquement le bon fichier clé ssh, en fonction du nom d'utilisateur distant sous lequel j'essaie de me connecter.

6voto

Wesley Points 32020

Consultez le Match dans votre configuration SSH sur la machine cliente. Plus précisément, le mot-clé user y host critères. Le site ssh_config(5) Manpage (c'est moi qui souligne) :

Les conditions de correspondance sont spécifiées en utilisant un ou plusieurs critères ou le simple jeton all qui correspond toujours.

Donc, dans votre cas, vous auriez quelque chose comme :

Match user bob host "hostname.com"
  IdentityFile /path/to/bob.key

Match user alice host "hostname.com"
  IdentityFile /path/to/alice.key

Il y a un SuperUser y un Q/A Unix & Linux qui ont aidé à lier tout ça, donc tu devrais probablement upvoter ces participants aussi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X