Comandos de GnuPG (GNU Privacy Guard o GPG): herramienta de cifrado y firmas digitales 

GnuPG es un programa de cifrado de datos y firmas digitales, que sirve para proteger nuestros datos contra posibles ataques de terceras personas y para verificar la identidad de nuestros contactos. Corre el demonio gpg-agent que nos permite guardar las contraseñas en memoria y evitar que estas se muestren por pantalla.

Puede usarse de manera conjunta con otros scripts y comandos que no nos permitan almacenar credenciales cifradas, y también por el propio hecho de organizar la gestión de secretos con una única herramienta.

#Instalación, configuración y uso de GnuPG para consola de comandos 

#1 - Instalar GnuPG 
dnf -y install gnupg
dnf -y install pinentry

#2 - Al final del profile de bash, establecemos estas variables necesarias ".bash_profile":
export GPG_TTY=$(tty)
export GPG_AGENT_INFO=`gpgconf --list-dirs agent-socket | tr -d '\n' && echo -n ::`

#3 - Arrancamos de esta forma manual el agente de gpg, si previamente estaba corriendo lo paramos:
gpgconf --kill gpg-agent
gpg-agent --daemon --enable-ssh-support --write-env-file "${HOME}/.gpg-agent-info"

#4 - Crearse claves personales de uso de GnuPG (con las opciones por defecto y tu correo vale):
gpg --full-generate-key

#5 - Comprobar que el comando gpg esta funcionando:
echo "frase texto en claro" | gpg --encrypt -r "tú correo" | gpg --decrypt

#6 - Exportamos a nuestro entorno de variables, nuestra key para que la coja por defecto. Ejemplo:
export GPGKEY=066AACB8

#7 - Ejemplo de workaround en combinación con otro comando para no tener credenciales en texto plano:

#Preparamos la contraseña en un archivo así:
echo 'g6W8p7N@sm' | gpg --encrypt > pass_cifrada_repositorio_svn.gpg

#Ejemplo de comando que usa la contraseña desde el archivo en estado cifrado, para no tener una contraseña en texto plano en un script por ejemplo:
svn info --username user_A --password `gpg --decrypt pass_cifrada_repositorio_svn.gpg` https://svn.riouxsvn.com/application_repository

# *La primera vez igualmente el demonio de GnuPG te pedirá la passphrase que protege la clave privada, pero la cachea y después ya no hace falta introducirla de nuevo para esa misma sesión)

#Cifrar archivos
gpg -c file1.txt
#Descifrar
gpg file1.txt.gpg
# *NOTA: Un archivo cifrado con el demonio GnuGPG, esta cifrado con la clave privada del par de claves que has generado en ese equipo, si lo subes a la nube por ejemplo, en el futuro para desencriptarlo necesitarás la clave privada, no te servira la simple passphrase que metes para ejecutar el comando

Para instalar GnuPG en Debian 8.x y derivados, ejecutamos el siguiente comando: sudo apt-get install gnupg gnupg-agent

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

error: