2012-02-29 24 views
5

En mi computadora tengohg no se conecta a Bitbucket mediante una clave personalizada

.ssh/config:

Host bitbucket 
    HostName bitbucket.org 
    User hg 
    IdentityFile ~/.ssh/id_rsa_pwd 

.hg/hgrc

[paths] 
default = ssh://[email protected]/lohoris/varlibs 

(con OSX 10.6)

Tengo exactamente los mismos archivos en un servidor Debian, pero mientras "intento" un inicio de sesión de shell funciona en ambos:

PTY allocation request failed on channel 0 
conq: logged in as lohoris. 

          You can use git or hg to connect to Bitbucket. Shell access is disabled. 
                            Connection to bitbucket.org closed. 

conexión mercurial sólo funciona en mi equipo, mientras que desde el servidor se niega a cooperar:

[email protected]:~/www/varlibs$ hg pull 
remote: Permission denied (publickey). 
abort: no suitable response from remote hg! 

Este es el mismo mensaje que aparece cuando la llave está mal, sólo que no está mal de Por supuesto (como dije, probando un ssh bitbucketfunciona).

Se es probable que el uso de la tecla equivocada, ya que ni siquiera está tratando de pedir a la frase de contraseña, pero no puedo entender por qué .

Respuesta

2

En su camino , debe usar ssh://bitbucket/lohoris/varlibs, no ssh://[email protected]/lohoris/varlibs.

+0

Según la documentación, el usuario debe ser hg para mercurial y git para git. Ver https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+protocol+with+Bitbucket#UsetheSSHprotocolwithBitbucket-RepositoryURLformatsbyconnectionprotocol – Sentient

+0

Sí, eso es lo que está en su archivo '~/.ssh/config'. – Ringding

+0

Ya veo. Leí tu respuesta fuera de contexto. Tal vez valga la pena repetir en su respuesta que su configuración específica de 'Usuario hg' afecta su comando ssh. – Sentient

4

Si obtiene "Permiso denegado (publickey)", significa que no se puede encontrar la clave pública requerida para acceder e ingresar al servidor. Para evitar esto se va a ejecutar los siguientes comandos:

ssh-agent 
ssh-add <full path to your key file> 

ssh -T [email protected] también es bueno y rápido ssh-depurador

+1

El uso de ssh-agent funcionó, pero eso no es exactamente lo que quería hacer. Me di cuenta ahora de que 'hg pull -e" ssh -i ~/.ssh/id_rsa_pwd "' también funciona, así que supongo que el problema es que cuando hg usa ssh ignora el archivo .ssh/config y va con la clave predeterminada de todos modos . ¿Qué podría hacer al respecto? –

+3

Añadiendo '[ui] ssh = ssh -C -i ~/.ssh/id_rsa_pwd' a' .hg/hgrg' hizo el truco. –

Cuestiones relacionadas