Cómo solucionar el error "Permission denied (publickey)" al clonar un repositorio de GitHub

Al clonar un repositorio privado de GitHub utilizando SSH, puedes encontrarte con el error:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
    

Este error ocurre generalmente porque la clave SSH configurada en el servidor no está correctamente enlazada a tu cuenta de GitHub. Aquí te explicamos cómo solucionarlo paso a paso.

1. Configurar el archivo config en ~/.ssh

Asegúrate de que tu archivo config esté configurado correctamente. Debería incluir lo siguiente:

Host github.com
    HostName github.com
    User git
    IdentityFile /deploy/.ssh/pfi_deploy
    

Revisa y edita este archivo si es necesario:

nano /deploy/.ssh/config
    

2. Agregar la clave SSH al agente

Ejecuta los siguientes comandos para asegurarte de que la clave SSH esté cargada en el agente:

eval "$(ssh-agent -s)"
ssh-add /deploy/.ssh/pfi_deploy
    

3. Probar la conexión con GitHub

Verifica que puedes conectarte a GitHub correctamente usando este comando:

ssh -T git@github.com
    

Deberías ver un mensaje como:

Hi <tu_usuario>! You've successfully authenticated, but GitHub does not provide shell access.

4. Verificar la clave pública en GitHub

Asegúrate de que la clave pública (pfi_deploy.pub) esté registrada en tu cuenta de GitHub:

  1. Ve a Settings > SSH and GPG keys en GitHub.
  2. Haz clic en New SSH key.
  3. Pega el contenido de pfi_deploy.pub.

Para obtener el contenido de la clave pública, ejecuta:

cat /deploy/.ssh/pfi_deploy.pub
    

5. Revisar los permisos de los archivos SSH

Confirma que los permisos de los archivos en la carpeta .ssh son los adecuados:

chmod 600 /deploy/.ssh/pfi_deploy
chmod 644 /deploy/.ssh/pfi_deploy.pub
chmod 700 /deploy/.ssh
    

6. Intentar clonar nuevamente

Una vez configurado todo, intenta clonar el repositorio nuevamente:

git clone git@github.com:pfinteractive/pfinteractive-web.git
    

Si todo está configurado correctamente, el repositorio se clonará sin problemas.

Conclusión

Resolver el error "Permission denied (publickey)" al clonar un repositorio de GitHub es sencillo si sigues estos pasos. Asegúrate de tener la clave SSH correcta vinculada a tu cuenta de GitHub y verifica los permisos de los archivos en tu servidor.

Next Post Previous Post
No Comment
Add Comment
comment url