Le risposte precedenti hanno spiegato correttamente il modo di creare un file di configurazione per gestire più chiavi SSH. Penso che la cosa importante che deve anche essere spiegata è la sostituzione di un nome host con un nome alias durante la clonazione del repository .
Supponiamo che il nome utente dell'account GitHub della tua azienda sia abc1234 . Supponiamo che il nome utente del tuo account GitHub personale sia jack1234
Supponiamo di aver creato due chiavi RSA, vale a dire id_rsa_company e id_rsa_personal . Quindi, il tuo file di configurazione apparirà come di seguito:
# 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
Ora, quando clonate il repository (chiamato demo) dall'account GitHub dell'azienda, l'URL del repository sarà simile a:
Repo URL: git@github.com:abc1234/demo.git
Ora, mentre lo fai git clone
, dovresti modificare l'URL del repository sopra come:
git@company:abc1234/demo.git
Notare come github.com è ora sostituito con l'alias "company" come abbiamo definito nel file di configurazione.
Allo stesso modo, è necessario modificare l'URL del clone del repository nell'account personale in base all'alias fornito nel file di configurazione.