Autor: Joel Barrios Dueñas y Gammexane
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org
Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas, © 2007 Gammexane. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.
La protección de la privacidad y la seguridad en la comunicación digital es una necesidad cada vez más crucial. GnuPG (GNU Privacy Guard) es la herramienta fundamental para alcanzar estos objetivos, permitiendo cifrar información, verificar la autenticidad de los mensajes y firmar documentos digitalmente.
Este manual ofrece una guía práctica para comenzar a utilizar GnuPG en sistemas Linux modernos, enfocándose en los conceptos esenciales y los procedimientos de uso común. La base de este documento se remonta a una colaboración inicial de Pablo "Gammexane" Moia en 2007, que con el tiempo se amplió y actualizó para formar la guía que tiene en sus manos.
GnuPG implementa criptografía de clave pública. En este sistema, cada usuario genera un par de llaves inseparable:
Este mecanismo resuelve dos problemas fundamentales: la confidencialidad (sólo el destinatario puede leer el mensaje) y la autenticidad (se puede verificar la identidad del remitente y que el mensaje no ha sido alterado).
En las distribuciones modernas basadas en Red Hat Enterprise Linux, AlmaLinux, Rocky Linux y sus derivados, el paquete estándar y recomendado es gnupg2.
dnf -y install gnupg2
Tras la instalación, el binario principal disponible será gpg. En algunos sistemas puede coexistir un paquete heredado llamado gnupg1, el cual instala el binario gpg1. Este paquete existe únicamente por dependencias de compatibilidad de otros paquetes (como algunos entornos de desarrollo) y no es necesario para el uso general de GnuPG. El comando correcto y moderno es siempre gpg.
Para los usuarios que prefieran una interfaz gráfica, Seahorse es un excelente frente gráfico que simplifica la gestión de llaves. Su desarrollo continúa dentro del proyecto GNOME.
dnf -y install seahorse
A continuación se presentan los pasos fundamentales para comenzar a utilizar GnuPG de manera efectiva. Estos procedimientos guiarán al usuario desde la creación de su primera pareja de llaves criptográficas hasta la realización de operaciones básicas de cifrado, firma y verificación, sentando las bases para una comunicación segura
El primer paso es crear su par de llaves (pública y privada). Desde el intérprete de mandatos, ejecute:
gpg --gen-key
El asistente le guiará solicitando la siguiente información:
RSA es la opción recomendada.1y para un año) o elegir que la llave nunca expire (0). Una fecha de expiración es una buena práctica de seguridad.El proceso puede tomar desde unos segundos hasta varios minutos, dependiendo del tamaño de la llave y de la disponibilidad de entropía (aleatoriedad) en el sistema. Mover el ratón o teclear en otras ventanas puede acelerarlo.
Para ver las llaves públicas que tiene en su anillo (incluyendo la suya), utilice:
gpg --list-keys
Para listar sus llaves privadas:
gpg --list-secret-keys
La salida mostrará información de identificación para cada llave. Un elemento clave es el ID de la llave (por ejemplo, F08846B8), una cadena alfanumérica que la identifica de manera única y que se utiliza en muchos mandatos.
Genere un certificado de revocación inmediatamente después de crear sus llaves. Este archivo es vital: si olvida su frase de acceso o si su llave privada se ve comprometida, publicar este certificado informará a todos que su llave pública ya no es válida para cifrar nuevos mensajes.
gpg --output revocacion.asc --gen-revoke F08846B8
Guarde el archivo revocacion.asc en un lugar muy seguro y fuera de línea (como una memoria USB en una caja fuerte). No es necesario distribuirlo hasta que requiera revocar la llave.
Para compartir su llave pública, debe exportarla. Puede hacerlo en formato binario o en texto legible (ASCII), útil para enviar por correo electrónico.
# Exportar en formato binario
gpg --output fulano.gpg --export F08846B8
# Exportar en formato texto legible (ASCII)
gpg --output fulano.asc --armor --export F08846B8
Para añadir la llave pública de otra persona a su anillo y poder cifrar mensajes para ella, utilice el mandato de importación:
gpg --import zutano.asc
Firmar un documento demuestra que usted es el autor y garantiza que el contenido no ha sido modificado desde que lo firmó.
GnuPG ofrece tres tipos de firma, cada una útil para un escenario diferente[citation:2]:
--sign): Crea un nuevo archivo binario que contiene el documento original cifrado junto con la firma.--clearsign): Incrusta la firma dentro del documento original, manteniendo el contenido legible para cualquiera. Es ideal para mensajes de correo o código fuente.--detach-sign): Crea un archivo de firma pequeño e independiente del documento original. Es la forma más eficiente de firmar paquetes de software o archivos grandes.# 1. Crear una firma estándar (binaria) de 'documento.txt'
gpg --sign documento.txt
# Resultado: documento.txt.gpg
# 2. Crear una firma en texto claro del mismo documento
gpg --clearsign documento.txt
# Resultado: documento.txt.asc (se puede abrir y leer)
# 3. Crear una firma separada (detached) para un archivo ISO grande
gpg --output mi-distro.iso.sig --detach-sig mi-distro.iso
# Resultado: mi-distro.iso (original) y mi-distro.iso.sig (firma pequeña)
Para verificar la autenticidad e integridad de un documento firmado:
# Verificar una firma estándar o en texto claro
gpg --verify documento.txt.gpg
gpg --verify documento.txt.asc
# Verificar una firma separada (DEBE especificar el documento original)
gpg --verify mi-distro.iso.sig mi-distro.iso
Para enviar información confidencial, debe cifrarla utilizando la llave pública del destinatario.
gpg --output mensaje-secreto.gpg --encrypt --recipiente persona@ejemplo.org archivo.txt
El destinatario podrá descifrar el archivo utilizando su propia llave privada y la frase de acceso correspondiente.
gpg --output archivo-desclasificado.txt --decrypt mensaje-secreto.gpg
También puede cifrar usando sólo una contraseña (cifrado simétrico), sin necesidad de llaves PGP. Es útil para proteger archivos para uno mismo.
gpg --output backup-cifrado.tar.gz.gpg --symmetric backup.tar.gz
Para operaciones con múltiples archivos, GnuPG ofrece la opción --multifile, compatible con --encrypt, --decrypt y --verify[citation:2]. Esta opción es muy útil para automatizar tareas.
# Cifrar todos los archivos .txt del directorio actual para un mismo destinatario
gpg --multifile --encrypt --recipiente socio@empresa.org *.txt
# Verificar todas las firmas separadas (.sig) en un directorio
gpg --multifile --verify *.sig
La pérdida de la llave privada implica la imposibilidad de descifrar cualquier mensaje futuro y de firmar documentos. Su respaldo es primordial.
gpg --list-secret-keys y localice su ID (ej. F08846B8).Exporte la llave privada a un archivo, protegiéndola con una contraseña fuerte en el proceso:
gpg --armor --export-secret-keys F08846B8 | gpg --armor --symmetric --output Respaldo_Llave_Privada.asc.gpg
Este mandato crea un archivo (Respaldo_Llave_Privada.asc.gpg) que está cifrado con una contraseña que usted elija durante la ejecución. Guarde este archivo en múltiples medios físicos seguros y fuera de línea (ej. memorias USB en ubicaciones diferentes).
Para restaurar la llave desde este respaldo protegido:
gpg --decrypt Respaldo_Llave_Privada.asc.gpg | gpg --import
GnuPG es una herramienta poderosa e indispensable para cualquier persona que valore la privacidad, la seguridad y la autenticidad en sus comunicaciones digitales. Comience por integrar hábitos sencillos, como firmar sus correos electrónicos o verificar las firmas del software que descarga.
Este manual —que tuvo sus inicios en el trabajo de Gammexane hace dos décadas— es un testimonio de que la seguridad y el conocimiento compartido son pilares de la comunidad del software libre. La práctica constante es la clave para dominar GnuPG. Explore, experimente en un entorno seguro y contribuya a construir una red de confianza (Web of Trust) con sus contactos.
Para profundizar en la protección de sistemas y redes, considere la lectura de otros manuales complementarios como la Configuración de FirewallD y la Configuración de Squid.