Me surgió la necesidad de poder versionar el código en un segundo repositorio remoto, siendo en este caso Github
Comencemos desde Git GUI ingresando al menú
Repository -> Git Bash
Genero la key con el siguiente comando para que GitHub ingrese por ssh key
ssh-keygen -t rsa -C
Visualizo la key pública
cat ~/.ssh/id_rsa_github.pub
Copio la pública generada en "SSH Key" de GitHub
Hago un primer intento con un Fetch and ...
Algunas verificaciones
Verifico si el agente de SSH esta corriendo (Repository -> Git Bash)
ssh-agent -s
Va devolver algo así
Inicio el agente de SSH si no esta corriendo
start ssh-agent
Agregar la key al agente
ssh-add ~/.ssh/id_rsa_github
Probar la conexión
ssh -T git@github.com
Si es exitoso se espera:
Segundo Intento - SUCCESS
Git GUI busca en su carpeta C:\Users\<Usuario>\.ssh un archivo de configuración. Si agrega su archivo de configuración (sin extensión), se puede agregar las rutas de las keys. De lo contrario, Git GUI solo buscará nombres de keys predeterminados.
Por alguna razón, Git GUI no ejecuta ~/.profile o ~/.bashrc (Git Bash sí lo hace), que se pueden usar para iniciar automáticamente el agente ssh y agregar claves.
En definitiva, generar el archivo C:\Users\<Usuario>\.ssh\config con el siguiente contenido:
IdentitiesOnly=yes
PreferredAuthentications publickey
PasswordAuthentication no
IdentityFile C:\Users\<user>\.ssh\id_rsa_your_key
IdentityFile /c/Users/<user>/.ssh/id_rsa_your_key
IdentityFile ~/.ssh/id_rsa_your_key
(reemplazar lo marcado en negrita con los valores correspondientes)
Intento realizar el Push ... and SUCCESS 🎉
Bonus Track - Cargando Repositorio de Github en GUI Git
- Seleccionar el proyecto
- Menu Remote -> Add
- En donde
- Name = el nombre que le voy a otorgar a ese repo
- Location = ubicación del repo en Github (utilizar conexión SSH para usar la key)
- Darle a Add
- Al hacer Push ya podemos seleccionar el repositorio remoto "backup"
Referencias
- https://stackoverflow.com/questions/40371663/git-gui-how-fixed-issue-permission-denied-publickey
- https://linux.die.net/man/5/ssh_config
- https://git-scm.com/docs/git-gui
0 comments:
Publicar un comentario