2011-11-17 19 views
8

Tenía Ubuntu 10.04 y recientemente actualicé a 11.10. Las claves SSH adicionales dejaron de funcionar. Tengo las claves bitbucket y github, que tengo en los sitios web. ¿Cómo puedo decirle a SSH que use una clave particular para Bitbucket y otra para GitHub?¿Cómo usar la tecla especial SSH para BitBucket y GitHub para empujar/jalar?

Por lo tanto, tienen una configuración:

Host bitbucket 
HostName 207.223.240.182 
User hg 
IdentityFile ~/.ssh/bitbucket 

Cuando llamo ssh bitbucket, ssh sesión correctamente con la llave y es expulsado. Pero cuando intento hg pull, veo "no hay respuesta de hg remoto". y la frase de contraseña no se pregunta.

¿Qué se puede hacer?

Respuesta

10

Para la pequeña explicación sobre por qué la configuración publicado en la pregunta no funciona, pero su respuesta hace:

Cuando se llama a ssh bitbucket, ssh se ve en su configuración archivo para un host llamado bitbucket que se define con la palabra clave Host. Luego, usando la palabra clave HostName, puede definir el real nombre de host para usar. En su caso, se está definiendo bitbucket como un alias para el IP 207.233.240.182 que supongo que es el uno para bitbucket.org

No estaba funcionando para sus comandos mercuriales porque el servidor remoto se define como probablemente no bitbucket.org el alias bitbucket. Después de cambiar el archivo de configuración al propuesto en su respuesta, ssh puede hacer coincidir el servidor remoto con el nombre de host y ¡todo está bien!

FYI, también se puede utilizar comodines para la búsqueda de patrones, por ejemplo:

Host bitbucket.* 
    HostName 207.223.240.182 
    User hg 
    IdentityFile ~/.ssh/bitbucket 

también funcionaría, porque cuando se mira en la configuración, SSH reemplazará el * con cualquier otra cosa.

+0

Fue muy útil para leer, ¡gracias! –

1

¡No me esforcé lo suficiente! La clave está allí ahora. Solución fue añadir .org al host:

Host bitbucket.org 
User hg 
IdentityFile ~/.ssh/bitbucket2 
+1

Si tiene muchas claves, considere agregar la opción IdentitiesOnly yes. –

Cuestiones relacionadas