Poprzednie odpowiedzi poprawnie wyjaśniły sposób utworzenia pliku konfiguracyjnego do zarządzania wieloma kluczami ssh. Myślę, że ważną rzeczą, którą również należy wyjaśnić, jest zastąpienie nazwy hosta nazwą aliasu podczas klonowania repozytorium .
Załóżmy, że nazwa użytkownika konta GitHub Twojej firmy to abc1234 . Załóżmy, że nazwa twojego osobistego konta GitHub to jack1234
Załóżmy, że utworzono dwa klucze RSA, a mianowicie id_rsa_company i id_rsa_personal . Twój plik konfiguracyjny będzie wyglądał jak poniżej:
# 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
Teraz, gdy klonujesz repozytorium (o nazwie demo) z firmowego konta GitHub, adres URL repozytorium będzie podobny do:
Repo URL: git@github.com:abc1234/demo.git
Teraz robiąc to git clone
, powinieneś zmodyfikować powyższy adres URL repozytorium jako:
git@company:abc1234/demo.git
Zauważ, jak github.com jest teraz zamieniany na alias „firma”, jak zdefiniowaliśmy w pliku konfiguracyjnym.
Podobnie musisz zmodyfikować sklonowany adres URL repozytorium na koncie osobistym w zależności od aliasu podanego w pliku konfiguracyjnym.