2011-08-29 7 views
5

Estoy en una situación en la que necesito que mi msysgit hable con github con diferentes claves. Sin embargo, git bash insiste en usar el archivo de clave denominado id_rsa SOLAMENTE. Si hago ssh -vT [email protected] Solo veo que se ofrece id_rsa.Agregar una clave SSH permanentemente en las ventanas de msysgit

Así que cada vez que necesito utilizar cualquier otra tecla que tengo que hacer todo esto,

ssh-agent bash 
ssh-add ~/.ssh/mygithubkey 
git clone [email protected]:myaccount/myrepo.git 

o renombrar mygithubkey a id_rsa cada vez que lo necesito copias de seguridad de la id_rsa originales a otro archivo anotherkey

y por supuesto, es un dolor, especialmente porque el historial de comandos también es diferente en el git bash regular.

Otras respuestas en stackoverflow ayudaron solo a llegar a mi solución anterior. Si lo hago

ssh-add ~/.ssh/mygithubkey 

directamente en mi git bash, dice que no se pudo conectar a ssh-agent. Si hago

ssh-agent ssh-add ~/.ssh/mygithubkey 
git pull 
ssh -vT [email protected] 

directamente en mi fiesta de git, que dice ha denegado el permiso, parece ssh-add realmente no agregar la clave de forma permanente! Y la clave añadida no se ofrece mientras mira los mensajes de depuración en modo detallado.

¿Hay alguna forma de agregar permanentemente una lista de claves ssh para ofrecer, cuando se conecta a github? Soy un novato en la configuración de ssh, así que sea prolijo en la respuesta.

+0

¿Por qué necesita claves múltiples? Una clave debería ser todo lo que necesitas. – Tekkub

+0

Tienes razón, puedo hacerlo con solo una clave, pero solo como una pregunta académica, ¿podría la gente intentar una respuesta? – Zasz

+1

Es posible, pero un gran dolor en el culo y realmente no vale la pena hacerlo: http://help.github.com/multiple-ssh-keys/ – Tekkub

Respuesta

3

Sugeriría usar un archivo ~/.ssh/config similar a this answer. Algo así como:

Host github1 
    User git 
    Hostname github.com 
    IdentityFile ~/.ssh/mygithubkey 

Host github2 
    User git 
    Hostname github.com 
    IdentityFile ~/.ssh/myothergithubkey 

De esa manera usted puede fácilmente cambiar las claves, ya sea escribiendo o ssh github1ssh github2 conectar.

+0

¿Dónde estaría eso en Windows? – CMCDragonkai

+2

La tilde ('~') es un marcador de posición para el directorio principal del usuario actual, es decir, a qué se refiere la combinación de '% HOMEDRIVE %% HOMEPATH%' en Windows. Comenzar con Windows Vista sería algo así como 'C: \ Users \ ', por lo que el archivo de configuración estaría en 'C: \ Users \ \ .ssh \ config'. – sschuberth

Cuestiones relacionadas