Las respuestas anteriores han explicado correctamente la forma de crear un archivo de configuración para administrar múltiples claves ssh. Creo que lo importante que también debe explicarse es la sustitución de un nombre de host con un nombre de alias mientras se clona el repositorio .
Supongamos que el nombre de usuario de la cuenta de GitHub de su empresa es abc1234 . Y supongamos que el nombre de usuario de su cuenta personal de GitHub es jack1234
Y, supongamos que ha creado dos claves RSA, a saber, id_rsa_company e id_rsa_personal . Por lo tanto, su archivo de configuración se verá a continuación:
# 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
Ahora, cuando clona el repositorio (denominado demo) de la cuenta de GitHub de la compañía, la URL del repositorio será algo así como:
Repo URL: git@github.com:abc1234/demo.git
Ahora, mientras lo hace git clone
, debe modificar la URL del repositorio anterior como:
git@company:abc1234/demo.git
Observe cómo github.com ahora se reemplaza con el alias "compañía" como hemos definido en el archivo de configuración.
De manera similar, debe modificar la URL de clonación del repositorio en la cuenta personal según el alias proporcionado en el archivo de configuración.