Les réponses précédentes ont correctement expliqué la façon 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 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 entreprise soit abc1234 . Et supposez que le nom d'utilisateur de votre compte GitHub personnel est jack1234
Et supposons que vous ayez créé deux clés RSA, à savoir id_rsa_company et id_rsa_personal . Donc, votre configuration fichier de ressemblera à ci-dessous:
# 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 référentiel (nommé démo) du compte GitHub de l'entreprise, l'URL du référentiel sera quelque chose comme:
Repo URL: git@github.com:abc1234/demo.git
Maintenant, en faisant cela git clone
, vous devez modifier l'URL du référentiel ci-dessus comme:
git@company:abc1234/demo.git
Remarquez comment github.com est maintenant remplacé par l'alias "entreprise" comme nous l'avons défini dans le fichier de configuration.
De même, vous devez modifier l'URL de clonage du référentiel dans le compte personnel en fonction de l'alias fourni dans le fichier de configuration.