Git: ¿Cómo resolver el error Permiso denegado (clave pública) al usar Git?

8 minutos de lectura

avatar de usuario
teepusink

Estoy en Mac Snow Leopard y acabo de instalar git.

acabo de intentar

git clone git@thechaw.com:cakebook.git

pero eso me da este error:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

¿Qué me estoy perdiendo?
También he intentado hacer ssh-keygen sin fase de paso pero sigue siendo el mismo error.

  • ¿Ha intentado cargar la clave pública que ha generado a través de ssh-keygen?

    –Patrick Cornelissen

    15 de abril de 2010 a las 7:52

  • Mi problema fue que intenté clonar desde sudo – este es otro usuario con otra clave pública.

    – Vitaly Zdanévich

    9 de junio de 2015 a las 17:24

  • mismo error. Anteriormente creé una clave pública a través de github, luego generé otro par de claves con el ssh-keygen utilidad. Eliminar la clave pública anterior en la configuración personal en github y agregar mi clave id_rsa.pub generada por ssh a las claves SSH y GPG solucionó los problemas de permiso de clonación.

    – Tanner Dolby

    4 de marzo de 2020 a las 8:08

  • Si está ejecutando bash screen y ha hecho todo en todos los sitios web disponibles, es muy probable que haya cerrado la sesión en la que creó la sesión de pantalla. Una solución rápida es reiniciar la sesión de pantalla: consulte superusuario.com/q/180148

    – El señor perro

    ayer

avatar de usuario
stevek-pro

Se puede realizar una solución de problemas más extensa e incluso una reparación automatizada con:

ssh -vT git@github.com

Alternativamente, de acuerdo con los comentarios a continuación, podríamos emitir:

ssh -vT git@gitlab.com

o sustituya gitlab/github con cualquier instancia de Git que esté ejecutando su organización.

Fuente: https://help.github.com/articles/error-permission-denied-publickey/

  • Mi problema tenía que ver con tener una clave diferente para mi servidor. Una vez que usé el comando anterior para determinar el problema, arreglé el archivo de identificación en mi archivo de configuración y funcionó.

    -Jarie Bolander

    23/09/2015 a las 21:39

  • Mostró qué clave github estaba tratando de usar para autenticarse. muy útil

    – cdosborn

    26 de noviembre de 2015 a las 23:44

  • Esto no arregla nada. Todavía recibo el error en la pregunta de OP.

    – Igor Ganapolski

    12 de agosto de 2016 a las 19:19

  • El comando está ahí para ayudarlo a solucionar el problema, no es un interruptor mágico de arreglar esto por mí.

    – stevek-pro

    16 de febrero de 2017 a las 14:28

  • No puedo decir que esto haya resuelto nada, pero es un comando muy interesante y también funciona con GitHub Enterprise.

    – Hack-R

    1 mayo 2018 a las 13:25

  • Con el https://github.com git url, todavía dice SSL certificate problem: self signed certificate in certificate chain. git -c http.sslVerify=false clone ... parece un movimiento peligroso. Sin embargo, Chrome no da ninguna advertencia de SSL. ¿Pensamientos?

    -Jason Kleban

    26 de noviembre de 2014 a las 16:06

  • @uosɐſ Lo siento, pero nunca encontré este problema. Quizás lo primero que debe hacer es probar el mismo comando desde una máquina diferente y ver si el problema persiste.

    – kavinyao

    27 de noviembre de 2014 a las 3:56

  • Esto también lo hizo por mí. Gracias. Para clonar mi repositorio git en mi cuenta de alojamiento compartido (1 y 1), tuve que usar git clone https://github.com/MyUserName/MyRepo.git Simplemente haga clic en los enlaces de texto debajo de la URL del repositorio a la derecha de la página de Github donde dice “Puede clonar con HTTPS, SSH o Subversion.“. (Haga clic HTTPS para obtener el enlace en lugar del predeterminado SSH.)

    –Oliver Schafeld

    29 de julio de 2015 a las 17:43


  • Excelente respuesta Finalmente alguien explica por qué funciona así.

    – Qback

    17 de marzo de 2020 a las 10:46

  • Tuve exactamente el mismo problema; Tengo acceso (de escritura) a un repositorio público con una clave SSH, pero necesitaba acceso de solo lectura para clonar objetos LFS. Reemplazar la dirección ssh con la URL HTTPS resolvió mi problema.

    – Profesor Nuke

    3 oct 2021 a las 18:47

avatar de usuario
jarora

La ayuda de github Enlace me ayudó a resolver este problema. Parece que la clave ssh no se agregó al agente ssh. Esto es lo que terminé haciendo.

Comando 1:

Asegúrese de que ssh-agent esté habilitado. El comando inicia el ssh-agent en segundo plano:

eval "$(ssh-agent -s)"

Comando 2:

Agregue su clave SSH al ssh-agent:

ssh-add ~/.ssh/id_rsa

  • Después de actualizar a OSx El Capitán a Sierra, esto funcionó para mí.

    – Louwki

    21 de septiembre de 2016 a las 8:53

  • Trabaje para mí después de actualizar a macOS Sierra =)

    – Adriano Resende

    21/09/2016 a las 16:01

  • Esto funcionó para mí en Raspberry Pi, donde ssh-add tiene un indicador “-k” en lugar de “-K”, aparentemente. Pero una vez que agregué mi clave de implementación, pude clonar con éxito mi repositorio usando su enlace SSH.

    – José

    10/04/2017 a las 20:34

  • Este es el solución real y se copió y pegó en la respuesta aceptada 4 años después (el 11 de enero de 2019), ¡así que esto merece todos nuestros votos a favor!

    – CPH Python

    7 de agosto de 2020 a las 10:25

avatar de usuario
promesa preston

Obtuve el mismo informe de error.

Solucionado con el uso de la HTTPS en vez de SSH protocolo. Ya que no quiero configurar “claves SSH” para una PC de prueba.

Cambie la URL a HTTPS cuando clone:

git clone https://github.com/USERNAME/REPOSITORY.git

mi problema es un poco diferente: tengo la URL establecida en SSH al agregar un repositorio local existente al remoto, usando:

git remote add origin ssh://github.com/USERNAME/REPOSITORY.git

Para solucionarlo, restablezca la URL a HTTPS:

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Por cierto, puede verificar su URL usando el comando:

git remote -v
origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.git (push)

Espero que esto ayude a alguien como yo. 😀

  • Después de actualizar a OSx El Capitán a Sierra, esto funcionó para mí.

    – Louwki

    21 de septiembre de 2016 a las 8:53

  • Trabaje para mí después de actualizar a macOS Sierra =)

    – Adriano Resende

    21/09/2016 a las 16:01

  • Esto funcionó para mí en Raspberry Pi, donde ssh-add tiene un indicador “-k” en lugar de “-K”, aparentemente. Pero una vez que agregué mi clave de implementación, pude clonar con éxito mi repositorio usando su enlace SSH.

    – José

    10/04/2017 a las 20:34

  • Este es el solución real y se copió y pegó en la respuesta aceptada 4 años después (el 11 de enero de 2019), ¡así que esto merece todos nuestros votos a favor!

    – CPH Python

    7 de agosto de 2020 a las 10:25

Estaba luchando con el mismo problema que hice y pude clonar el repositorio. Seguí este procedimiento para Mac.

Primer paso: comprobar si ya tenemos la clave SSH pública.

  1. Terminal abierta.
  2. Ingresar ls -al ~/.ssh para ver si las claves SSH existentes están presentes:

Consulte la lista de directorios para ver si ya tiene una clave SSH pública. Los públicos predeterminados son uno de los siguientes d_dsa.pub, id_ecdsa.pub, id_ed25519.pub, id_rsa.pub

Si no lo encuentra, vaya al paso 2, de lo contrario, siga el paso 3

Paso 2: Generar clave SSH pública

  1. Terminal abierta.
  2. Ingrese el siguiente comando con su dirección de correo electrónico válida que usa para github ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. Verás lo siguiente en la terminal Generating public/private rsa key pair. Cuando le pide que"Enter a file in which to save the key," presione Entrar. Esto acepta la ubicación de archivo predeterminada. Cuando le pide que Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] Simplemente presione entrar de nuevo. Cuando se le solicite, escriba una frase de contraseña segura.
  4. Enter passphrase (empty for no passphrase): [Type a passphrase] presiona enter si no quieres Enter same passphrase again: [Type passphrase again] presione entrar de nuevo

Esto generará id_rsa.pub

Paso 3: Agregar su clave SSH al ssh-agent

  1. Tipo de terminal eval "$(ssh-agent -s)"
  2. Agregue su clave SSH al ssh-agent. Si está utilizando una clave SSH existente en lugar de generar una nueva clave SSH, deberá reemplazar id_rsa en el comando con el nombre de su archivo de clave privada existente. Ingrese este comando $ ssh-add -K ~/.ssh/id_rsa

Ahora copie la clave SSH y también agréguela a su cuenta de github

  1. En la terminal, ingrese este comando con su nombre de archivo ssh pbcopy < ~/.ssh/id_rsa.pub Esto copiará el archivo a su portapapeles. Ahora abra su cuenta de github. Vaya a Ajustes > Claves SSH y GPG > Nueva clave SSH Ingrese el título y pegue la clave del portapapeles y guárdela. Voila, ya terminaste.

  • Copia de usuario de Windows a través de: cat ~/.ssh/id_rsa.pub | acortar

    – Fabii

    23 mayo 2017 a las 21:03

  • Finalmente, después de leer aquí y allá durante una hora, la solución paso a paso… funciona muy bien. Recuerde agregar su contraseña de github como frase de contraseña en los pasos; de lo contrario, tendrá que agregarla manualmente cada vez.

    – Afshin Ghazi

    11 de junio de 2018 a las 11:53


  • Esta fue la respuesta perfecta para mí. ¡Gracias!

    – ericdrum

    28 de agosto de 2020 a las 17:56

  • Gran respuesta. También agregaría que fue útil para mí obtener información sobre cómo cambiar mis detalles remotos de git; consulte este enlace para obtener más detalles: stackoverflow.com/a/63830575/1818235

    – Miguel

    17 de diciembre de 2020 a las 16:59

  • OMYGOD URA GODSEND, la respuesta perfecta para mí, ya que no he usado sourcetree por un tiempo.

    – Nico Robin

    6 de noviembre de 2021 a las 13:06

¿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