Si decidiste instalar una distribución de Linux dentro de Windows 10 a través del Windows Subsystem for Linux (WSL), notarás que al momento de querer hacer push o pull a alguno de tus repositorios en GitHub no tendrás los permisos para hacerlo.
.
.
Esto es debido a que las configuraciones que tenías en tu ambiente de desarrollo con Windows para tener una conexión con llaves ssh no se conservará para tu entorno de desarrollo con Linux.
.
Para este problema tendrías dos soluciones:
.
- Crear una nueva conexión segura generando otro par de llaves.
- Copiar las mismas llaves que usas en Windows.
.
En este tutorial voy a explicar como hacer la segunda opción.
.
Copiar llaves SSH a WSL
.
Las llaves ssh en Windows están usualmente guardadas en una carpeta oculta llamada .ssh dentro de la ruta c:\Users\<username>\
. Nuestro objetivo es copiar esa carpeta completa de Windows hacia nuestro subsistema de Linux.
.
Para hacer esto debes abrir tu terminal (la que configuraste para correr Linux) y verificar si la carpeta .ssh
existe en tu root. Para chequearlo debes usar el siguiente comando:
.
ls -a ~
.
Si no ves la carpeta .ssh por ninguna parte entonces puedes utilizar el siguiente comando:
.
cp -r /mnt/c/Users/<username>/.ssh ~/.ssh
.
Recuerda que debes sustituir “username” por tu nombre de usuario en Windows.
.
En caso de que la carpeta exista, tienes que verificar su contenido, si dentro ves algún arhcivo llamado id_rsa
o id_rsa.pub
, significa que ya tienes un par de llaves generadas para su WSL, por lo que tendrías es que configurar tu conexión segura a GitHub usando esas llaves que ya tienes disponible.
.
Nota imortante: Si ya tienes un par de llaves creadas no copies las de Windows. Esto las sobreescribirá y a menos que estés seguro para qué generaste esas llaves esto puede ser problemático.
.
En caso de que la carpeta esté vacía, puedes ejecutar el siguiente comando para copiar tus llaves de Windows a tu subsistema Linux:
.
cp -r /mnt/c/Users/<username>/.ssh/. ~/.ssh
.
Ya completados estos pasos tendrás listas tus credenciales para usarlas en tu terminal configurado para trabajar con Linux. Pero aún queda un paso más y es arreglar los permisos en el archivo de las llaves.
.
.
Arreglando permisos
.
Para arreglar estos permisos lo que tendrías que hacer es correr el siguiente comando:
.
chmod 600 ~/.ssh/id_rsa
.
Una vez arreglado este detalle, ya tendrás listo todo para conectarte a GitHub utilizando las mismas llaves ssh que utilizas en Windows.
Curso Profesional de Git y GitHub