Comment utiliser plusieurs clés privées avec ssh?


58

J'ai pu configurer ssh pour utiliser l'authentification par clé privée / publique. Maintenant je suis capable de faire

ssh user@server1

Et il se connecte avec la clé privée. Maintenant, je veux me connecter à un autre serveur et utiliser une clé différente. Comment le configurer pour

ssh user@server1

utilise privatekey1

ssh user@server2

et utilise privatekey2


7
Aucune vraie raison - une mythbox personnelle et l'autre est un serveur de travail et je ne voulais pas utiliser ma clé personnelle au travail.
Josué

aucune des réponses ne semble répondre à la quesiton complète, par exemple, comment créer des clés différentes privatekey1 et privatekey2
jpwynn

Réponses:


49

Il y a quelques options.

  1. Chargez les deux clés dans votre agent ssh en utilisant ssh-add. Ensuite, les deux clés seront disponibles lors de la connexion aux deux serveurs.

  2. Créez votre $HOME/.ssh/configfichier et créez une Hostsection pour server1 et une autre pour server2. Dans chaque Hostsection, ajoutez une IdentityFileoption pointant sur le fichier de clé privée approprié.


2
ssh agent était une excellente idée, même si j’ai les fichiers de clé publique et privée, c’est-à-dire key1 et key1.pub, dans ~ / .ssh, ils seront automatiquement chargés.
Josué

57

Vous pouvez configurer cela dans votre ~/.ssh/configfichier. Vous auriez quelque chose comme ça:

Host server1
IdentityFile ~/.ssh/key_file1

Host server2
IdentityFile ~/.ssh/key_file2

man ssh_config est une référence


4
Vous pouvez également spécifier Userque chaque hôte doit réduire le nombre de touches. Enfin, lorsque vous générez une nouvelle clé SSH pour chaque hôte, ssh-keygenassurez-vous de saisir un autre chemin de clé.
Marco Ceppi

Y at - il une possibilité de spécifier une clé par défaut, comme dire host x ->key1, puis le reste des hôteskey2
azerafati

Oui, utilisez sh Host * Et ajoutez les valeurs par défaut, que les substitutions ne peuvent pas être ajoutées en dessous. Aussi: plus sh man_ssh_config précisément la partie de la section "Host" concernant l'astérisque '*' et le point d'exclamation '!'
immeëmosol
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.