Este artículo les ayudará en caso de que estén recibiendo el error «Permission Denied (publickey)» al intentar hacer push a un repositorio GIT
La causa de este error no es nada del otro mundo, simplemente significa que no se han creado llaves SSH en la máquina local. Así lo solucionamos:
- En Windows abrir la consola git (bash) (se puede hacer utilizando el buscador de Windows y escribiendo «git bash») o si estamos en una Mac abrimos la Terminal. (Consejo: Se puede usar cualquier terminal de tipo *nix (menos la «línea de comandos» por defecto de Windows)
- Escribir
cd ~/.ssh
Esto nos llevará al directorio raíz de Git (Por lo general es C:\Usuarios\[TU-USUARIO]\.ssh\ en Windows) - Dentro de esa carpeta .ssh , deben haber estos dos archivos:
id_rsa
yid_rsa.pub
Estos son los archivos que permitirán a tu computador comunicarse con GitHub, BitBucket, o cualquier otro servicio basado en Git. - Escribir
ls
para ver el listado del directorio. Si esos archivos no aparecen, continúa al siguiente paso.
NOTA: Tus llaves SSH deben llamarse: id_rsa e id_rsa.pub para que Git, GitHub y BitBucket las reconozcan por defecto. - Para crear nuevas llaves SSH, escribe:
ssh-keygen -t rsa -C "tu_email@ejemplo.com"
Esto creará ambos archivos id_rsa y id_rsa.pub. - Luego, abrir el archivo
id_rsa.pub
en tu editor de texto favorito, esto se puede realizar en Windows Explorer o en el Finder de OSX, escribiendo:open .
(y abrirá la carpeta). - Luego copia todo el contenido –exactamente como está en el archivo id_rsa.pub, sin líneas ni espacios extras– y pegara todo ese texto en GitHub y/o BitBucket dentro de las configuraciones de cuenta (Account Settings) > SSH Keys.
NOTA: Es preferible darle un nombre descriptivo a la llave SSH, usualmente con el nombre de la estación de trabajo o computadora desde la cual se están realizando los push. - Ahora que ha añadido su llave pública a Github u/o BitBucket, intentar nuevamente el comando push.
Por ejemplo:git push origin feature/X-3366
y verificar que funciona.
Saludos!