Se niega la clave pública de Bitbucket ssh, pero su prueba ssh se conecta sin problemas

2 minutos de lectura

Una información muy probablemente relevante es que tengo una configuración ssh personalizada configurada para bitbucket. En mi archivo ‘.ssh/config’ tengo lo siguiente:

[[email protected]]$ cat ~/.ssh/config 
Host bitbucket
    Hostname        bitbucket.org
    IdentityFile    /home/ivanna/.ssh/id_rsa_bitbucket
    IdentitiesOnly yes

Los permisos en este archivo son definitivamente correctos en lo que respecta a ssh (utilizo activamente otras entradas en el archivo de configuración). Ahora, cuando agregué el origen remoto en git, usé bitbucket en lugar de bitbucket.org:

git remote add origin bitbucket:ivanna/my-repo.git

pero cuando trato de empujar me sale el siguiente error:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Entonces parece que no agregué mi clave pública o algo así, ¿verdad? Pero definitivamente lo hice. Y cuando buscas más información encuentras esta página sobre el error (https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860). Y cuando hago lo que dicen que haga para verificar la clave:

[[email protected]]$ ssh -T [email protected]
logged in as ivanna.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

Puede iniciar sesión bien, al parecer. Entonces… ¿por qué empujar no funciona? El enlace anterior menciona que podría ser un problema de permisos en el proyecto en sí, pero configuré los permisos como sugirieron las personas y no hizo nada. ¿Alguien sabe lo que está pasando?

ssh -T [email protected]

Tu usas [email protected] al iniciar sesión a través de SSH, pero en la URL remota que agrega a Git, no especifica un nombre de usuario. Dado que la configuración tampoco incluye uno, Git no sabrá con qué nombre de usuario iniciar sesión.

Cambia la URL a esta:

git remote add origin [email protected]:ivanna/my-repo.git

Alternativamente, puede agregar el usuario a la configuración de SSH:

Host bitbucket
    Hostname        bitbucket.org
    User            git
    IdentityFile    /home/ivanna/.ssh/id_rsa_bitbucket
    IdentitiesOnly yes

  • Gracias, eso fue vergonzoso.

    – Ivanna

    27 de julio de 2015 a las 22:59

avatar de usuario
alondras

Si hiciste esto:

git remote add origin bitbucket:ivanna/my-repo.git

no has dicho git que necesita conectarse como algo que no sea su nombre de usuario. Podrías hacer esto en tu .ssh/config archivo como este:

Host bitbucket
    User git
    Hostname        bitbucket.org
    IdentityFile    /home/ivanna/.ssh/id_rsa_bitbucket
    IdentitiesOnly yes

o en tu git remote add línea de comando como esta:

git remote add origin [email protected]:ivanna/my-repo.git

  • Bueno es [email protected]está usando git no hg.

    – Voluntad

    27/07/2015 a las 18:31

  • Si va y lee la pregunta (con la salida de bitbucket), verá que cualquiera debería funcionar. Dado que el OP está usando [email protected] en la pregunta, me quedé con eso. Estoy de acuerdo, es confuso. Solo actualizaré la respuesta.

    – alondras

    27 de julio de 2015 a las 18:32


  • Ah, ya veo. ¡Gracias por aclararlo!

    – Voluntad

    27/07/2015 a las 20:02

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad