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:
- Ve a Settings > SSH and GPG keys en GitHub.
- Haz clic en New SSH key.
- 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.