Les réponses précédentes ont bien expliqué la manière de créer un fichier de configuration pour gérer plusieurs clés ssh. Je pense que la chose importante qui doit également être expliquée est le fichier de configuration. remplacement d'un nom d'hôte par un nom d'alias lors du clonage du référentiel .
Supposons que, votre le nom d'utilisateur du compte GitHub de la société est abc1234 . Et supposez que votre le nom d'utilisateur du compte GitHub personnel est jack1234
Et, supposons que vous avez créé deux clés RSA, à savoir id_rsa_company y id_rsa_personnel . Donc, votre configuration ressemblera à ce qui suit :
# Company account
Host company
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company
# Personal account
Host personal
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
Maintenant, lorsque vous clonez le dépôt (démo nommée) à partir du compte GitHub de l'entreprise, l'URL du dépôt sera quelque chose comme :
Repo URL: git@github.com:abc1234/demo.git
Maintenant, en faisant git clone
vous devez modifier l'URL du référentiel ci-dessus comme suit :
git@company:abc1234/demo.git
Remarquez que github.com est maintenant remplacé par l'alias "company" que nous avons défini dans le fichier de configuration.
De même, vous devez modifier l'URL de clonage du dépôt dans le compte personnel en fonction de l'alias fourni dans le fichier de configuration.
8 votes
J'ai écrit cet article qui traite en profondeur des différentes configurations et de leurs avantages et inconvénients.