65 votes

Puis-je avoir plusieurs clés SSH dans mon dossier .ssh?

Puis-je créer plusieurs clés SSH et les renommer avec des noms conviviaux pour savoir quelle clé est pour quel site web, etc.

Est-ce sûr ?

par exemple :

github_id_rsa
github_id_rsa.pub
..
...

Comment saura-t-il quelle clé vérifier lors de la connexion ?

Sur mon ordinateur maintenant, quand je regarde les known_hosts, ils semblent tous avoir la même clé après le nom de l'hôte ??

1 votes

0 votes

Aussi, les clés hôtes connues ne sont certainement pas les mêmes, il suffit de regarder les extrémités des lignes pour chaque hôte.

88voto

Jez Points 161

Vous pouvez modifier le fichier ~/.ssh/config pour utiliser différents fichiers d'identité pour différents serveurs. Modifiez le fichier ~/.ssh/config dans votre éditeur préféré et ajoutez une entrée appropriée à votre situation comme ceci :

Hôte *
IdentityFile ~/.ssh/id_rsa

Hôte *.github.*
IdentityFile ~/.ssh/github_id.rsa

Hôte *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

La première partie ci-dessus définit les valeurs par défaut pour tous les hôtes et les autres sections remplacent ce qui doit être utilisé pour chacun des hôtes correspondant aux motifs. Si vous avez un nom d'utilisateur différent pour chacun des hôtes, vous pouvez ajouter une clé Utilisateur suivie du nom d'utilisateur sur le serveur distant à la section.

6 votes

C'est la réponse la plus utile à cette question, quelle que soit la destination, que ce soit GitHub ou d'autres sites.

0 votes

Cela ne fonctionne pas si vous avez plusieurs comptes Bitbucket et que vous avez besoin d'avoir des clés différentes pour chacun malheureusement.

2 votes

chmod 400 ~/.ssh/id_rsa ou chmod 400 ~/.ssh/foo_id.rsa pourrait être nécessaire.

32voto

Chris McKeown Points 101

Oui, vous pouvez avoir des clés ssh différentes. Il existe une très bonne documentation sur le site d'aide de GitHub à l'adresse Help.GitHub - Clés SSH multiples. Essentiellement, vous utiliserez ssh-add pour ajouter les clés supplémentaires afin que l'agent puisse les utiliser. Ensuite, vous configurez le fichier de configuration des hôtes ssh afin que toutes les connexions ssh vers différents domaines soient recherchées ici et que la clé appropriée soit utilisée. Bonne chance!

1 votes

Le lien ne fonctionne plus

2 votes

0 votes

Le lien fonctionne en effet, maintenant du moins.

18voto

Vous pouvez configurer plusieurs clés ssh pour tout site ayant plusieurs comptes utilisateurs

Voici l'exemple que j'ai utilisé dans mon développement pour GitHub.com

Exemple de fichier de configuration

#Compte personnel
 Host github.com-
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes

#Compte d'organisation
 Host github.com-
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

Au moment d'ajouter une nouvelle origine

Pour le compte personnel

git remote add origin git@github.com-:/.git

Pour le compte d'organisation

git remote add origin git@github.com-:/.git

J'espère que cela vous aidera.

0 votes

Brillant! Une telle approche permet d'avoir plusieurs clés ssh pour un seul domaine, génial

3voto

Zack Points 41

Cela a fonctionné pour moi

ssh-keygen -f ~/.ssh/ 
ssh-add ~/.ssh/
git clone @bitbucket.org:myfancyteam/myfancyproject.git

De : https://support.atlassian.com/bitbucket-cloud/docs/set-up-additional-ssh-keys/

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