¿Puedo tener varias claves ssh en mi carpeta .ssh?


30

¿Puedo crear varias claves ssh y cambiarles el nombre a nombres fáciles de usar para saber qué clave es para qué sitio web, etc.

¿Es esto seguro?

p.ej:

github_id_rsa
github_id_rsa.pub
..
...

¿Cómo sabrá con qué clave verificar cuando se conecte?

En mi computadora ahora, cuando miro a conocido_hosts, ¿todos parecen tener la misma clave después del nombre del host?



Además, las claves de host conocidas definitivamente no son las mismas, solo mire los extremos de las líneas para cada host.
slhck

Respuestas:


15

Sí, puedes tener diferentes claves ssh. Hay muy buena documentación en el sitio de ayuda de GitHub en Help.GitHub - Múltiples claves SSH . Básicamente, usará ssh-add para agregar las claves adicionales para que el agente pueda utilizarlas. Luego configura la configuración de hosts ssh para que cualquier conexión ssh a diferentes dominios se busque aquí y se use la clave adecuada. ¡buena suerte!


1
Link ya no funciona
danwellman


44

Puede modificar el archivo ~ / .ssh / config para usar diferentes archivos de identidad para diferentes servidores. Edite ~ / .ssh / config en su editor favorito y agregue una entrada que sea apropiada para su situación de la siguiente manera:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

La primera parte anterior establece los valores predeterminados para todos los hosts y las otras secciones anulan lo que se debe usar para cada uno de los hosts que coincidan con los patrones. Si tiene un nombre de usuario diferente para cada uno de los hosts, puede agregar una clave de Usuario seguida del nombre de usuario en el control remoto a la sección.


3
Esta es la respuesta más útil a esta pregunta, independientemente del destino, ya sea GitHub u otros sitios.
Pierre

Esto no funciona si tiene múltiples cuentas de bitbucket y, desafortunadamente, necesita tener diferentes claves para cada una.
John Little

chmod 400 ~/.ssh/id_rsao chmod 400 ~/.ssh/foo_id.rsapuede ser necesario
T.Woody

@JohnLittle Eche un vistazo a mi respuesta que resuelve la cuenta multiusuario para el mismo dominio.
Sathishkumar Rakkiasamy

4

Puede configurar varias claves ssh para cualquier sitio que tenga múltiples cuentas de usuario

A continuación se muestra el ejemplo que solía seguir en mi desarrollo para GitHub.com

Ejemplo de archivo de configuración

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

Al momento de agregar un nuevo origen

Para cuenta personal

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

Para cuenta de organización

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

Espero eso ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.