Administra tus credenciales de Git con Gnome Keyring
Si sueles utilizar servicios de Git en internet para almacenar tu código fuente, seguramente ya te has encontrado con la molestia de tener que introducir constantemente tus credenciales al momento de hacer push de tus cambios hacia el repositorio remoto. Una opción para evitar esto es utilizar el protocolo SSH y un certificado de seguridad, pero suele ser un poco mas difícil de configurar, y suele ser bloqueado por los cortafuegos.
Para evitar tener que ingresar tus credenciales al subir tu código, una excelente opción es utilizar el asistente para el manejo de credenciales de Git (credential helper). Dicho asistente permite guardar las credenciales de forma automática en un almacén, para que solamente las ingreses una vez, y Git se encargue de utilizarlas en los accesos subsecuentes al repositorio remoto. Cabe mencionar que el tiempo que se almacenan las credenciales depende del almacén que se utilice, así como las configuraciones que se apliquen.
Si utilizas Linux para desarrollar, y Git 1.8 o superior, un buen almacén que puedes utilizar es el Gnome Keyring, que de acuerdo a Wikipedia:
Es una aplicación demonio diseñada para gestionar de manera segura las credenciales de acceso del usuario, como los nombre de usuario y las contraseñas. Los datos sensibles son cifrados y guardados en un archivo «llavero» (keyring, en GNOME llamado «anillo de claves») en la carpeta personal del usuario. El llavero predeterminado usa la contraseña de inicio de sesión para realizar el cifrado, así que los usuarios no necesitan recordar otra contraseña aparte de la que usan para iniciar sesión en su computadora.
Si utilizas el escritorio de Gnome, es muy probable que ya tengas esta aplicación instalada. Si no es el caso, puedes descargarla e instalarla fácilmente utilizando el administrador de paquetes de tu sistema operativo. En mi caso que utilizo una distro de Arch Linux, el comando para realizar la instalación desde la terminal es:
# pacman -S gnome-keyring
En el caso de Ubuntu y derivados:
# apt-get install gnome-keyring
Luego es necesario instalar libgnome-keyring, que es una librería cliente necesaria para que Git pueda hacer uso del almacén de llaves:
# pacman -S libgnome-keyring
El equivalente para ubuntu:
# apt-get install libgnome-keyring-dev
NOTA: Es posible instalar solamente libgnome-keyring, ya que este suele tener como dependencia a gnome-keyring, por lo que usualmente será instalado de forma automática.
Luego es necesario generar los binarios de Git para el soporte de Gnome Keyring para nuestra plataforma específica. Para ello, cambiamos el directorio de trabajo de la terminal hacia la ubicación de los fuentes provistos por Git para el almacén. En el caso de Arch linux:
$ cd /usr/share/git/credential/gnome-keyring
Y en el caso de ubuntu:
$ cd /usr/share/doc/git/contrib/credential/gnome-keyring
Luego compilamos los fuentes mediante el comando make, ejecutado como súper usuario:
# make
Una vez generados los binarios, le decimos a Git que deseamos utilizar a Gnome Keyring como nuestro almacén global de credenciales. Esto lo podemos hacer con el siguiente comando, en Arch Linux:
$ git config --global credential.helper /usr/share/git/credential/gnome-keyring/git-credential-gnome-keyring
Y en Ubuntu:
$ git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
Una vez hecho esto, solo se nos pedirá una vez más ingresar las credenciales para conectarnos a cada repositorio remoto, y estas serán almacenadas automáticamente para ser reutilizadas en los accesos posteriores.
Cabe mencionar que para administrar las credenciales almacenadas en el llavero de Gnome, se puede utilizar Seahorse, que es una aplicación front-end de Gnome para la gestión de Claves PGP y SSH.
Seahorse |
Las explicaciones sobre el uso de esta herramienta quedan fuera del alcance de esta entrada del blog, pero puedes encontrar más información en el siguiente enlace: https://ubunlog.com/seahorse-cifra-datos-escritorio/
0 comentarios:
Publicar un comentario