Búsqueda de sitios web

Cómo resolver gpg: error de descifrado: no hay error de clave secreta


Cuando alguien le envía un correo electrónico, un archivo o un documento encriptado, utiliza su clave GPG “Pública” para encriptar el archivo. La clave de descifrado de su clave pública es su clave GPG "Privada" o "Secreta". Sin embargo, si obtiene el error "gpg: descifrado fallido: No hay clave secreta" mientras descifra el archivo, indica que su par de claves GPG es incorrecto o que la clave pública utilizada para el cifrado no coincide con su clave relacionada en su sistema.

Si te encuentras en una situación así, ¡no te preocupes! Este artículo demostrará diferentes métodos para resolver el error "gpg: descifrado fallido: sin clave secreta" en su sistema Linux. Entonces, ¡comencemos!

Método 1: Resuelva gpg: error de descifrado: no hay error de clave secreta al eliminar el gpg-agent

Para resolver el error “gpg: descifrado fallido: sin clave secreta”, el primer método que puede intentar es eliminar el proceso “gpg-agent” existente. El “gpg-agent” es un demonio que ayuda a administrar las claves privadas o secretas de manera independiente del protocolo. Sirve como backend para gpgsm, gpg y algunos otros programas. Para eliminar el “gpg-agent”, abra su terminal presionando “CTRL+ALT+T” y luego ejecute el siguiente comando:

$ gpgconf --kill gpg-agent

El sistema reiniciará el “gpg-agent” cuando sea necesario o lo solicite gpg, gpgconf, gpgsm o gpg-connect-agent. También puede ejecutar el simple comando “gpg -k ” para activar el proceso de reinicio “gpg-agent ”.

Si su systemd de espacio de usuario controla el demonio "gpg-agent", primero verifique su estado:

$ systemctl --user status gpg-agent

Después de eso, detenga el “gpg-agent” y vuelva a iniciarlo con la ayuda de los siguientes comandos:

$ systemctl --user stop gpg-agent

$ systemctl --user start gpg-agent

Luego, revisa nuevamente el estado de “gpg-agent”:

$ systemctl --user status gpg-agent

Método 2 Resolver gpg: error de descifrado: No hay error de clave secreta al eliminar el caché GPG

Si el método anterior no funcionó para usted, entonces una cosa más que puede hacer es eliminar primero el caché GPG y luego reiniciar el "gpg-agent".

Puede ejecutar el siguiente comando rm para eliminar el caché GPG:

$ rm ~/.gnupg/S.*

Luego, reinicie el “gpg-agent” en su sistema Linux:

$ gpg-connect-agent reloadagent /bye

Método 3: Resolver gpg: error de descifrado: No hay error de clave secreta instalando y configurando pinentry-tty

Si está utilizando un sistema Ubuntu con Gnome GUI de forma predeterminada, entonces su GPG debe estar utilizando "/usr/bin/pinentry-gnome3". Para corregir el error "gpg: descifrado fallido: sin clave secreta", puede instalar el programa "pinentry-tty" y agregarlo al archivo de configuración de gpg-agent.

El “pinentry-tty” es un programa que le permite ingresar contraseñas o PIN de forma segura. Esta característica es útil para ingresar frases de contraseña cuando utiliza cualquier programa de encriptación como GPG. Para instalar en su sistema, escriba el siguiente comando:

$ sudo apt install pinentry-tty

En el siguiente paso, configuraremos “pinentry–tty” como el programa predeterminado para gpg-agent. Para este propósito, primero abra el archivo "gpg-agent.conf" en el editor nano:

$ sudo nano /.gnupg/gpg-agent.conf

Luego, agregue la línea dada a continuación en el archivo de configuración abierto:

pinentry-program /usr/bin/pinentry-tty

Después de hacerlo, presione "CTRL+O" para guardar los cambios agregados. Lo que tienes que hacer ahora es recargar tu gpg-agent para que surta efecto desde la configuración modificada:

$ gpg-connect-agent reloadagent /bye

Método 4: Resolver gpg: error de descifrado: No hay error de clave secreta exportando e importando la clave privada

Si la clave secreta requerida no se encuentra en la otra máquina, obtendrá el error "gpg: descifrado fallido: sin clave secreta" incluso con la clave privada o la frase de contraseña correctas. Para resolver el problema encontrado en esta situación particular, puede exportar la clave secreta y luego importarla en la otra máquina.

Para hacerlo, primero ejecute el siguiente comando para enumerar las claves GPG usando su ID de usuario “uid”:

$ gpg --list-keys [uid]

Anote el ID de usuario de la salida. Su ID de usuario "uid" se colocará después de "pub".

Ahora, puede usar el siguiente comando para exportar su clave secreta GPG:

$ gpg --export-secret-keys [uid] >private.key

Por último, importe el archivo "private.key" creado en la otra máquina:

$ gpg --import private.key

El resultado le permitirá saber que la clave secreta se importa:

Método 5: Resolver gpg: error de descifrado: No hay error de clave secreta configurando el nivel de confianza de la clave GPG

Después de copiar su par de claves GPG, si aún enfrenta el error "gpg: descifrado fallido: sin clave secreta", entonces debe establecer su nivel de confianza. Ejecute el siguiente comando "gpg" para editar la configuración de su clave gpg:

$ gpg --edit-key [Key_ID] or [uid]

Después de ejecutar el comando anterior, se activará una consola GPG, luego escriba "confiar" y presione "Entrar":

gpg>trust

Ahora, aparecerá un menú en pantalla para seleccionar el nivel de confianza, y tendrá las siguientes opciones:

Ya que ha generado su clave, vaya a la opción 5, “Confío en última instancia”, luego confirme la opción añadida y salga de “gpg " consola:

gpg>quit

¡Tu error “gpg: descifrado fallido: No hay clave secreta” debe resolverse ahora!

Conclusión

Artículos relacionados: