Erro de TTY ao criptografar arquivos com GnuPG

Você ao tentar criptografar alguns arquivos com GnuPG (GPG) recebeu esta mensagem de erro abaixo?

gpg: problem with the agent: Inappropriate ioctl for device
gpg: error creating passphrase: Operation cancelled
gpg: symmetric encryption of '[stdin]' failed: Operation cancelled

Se a resposta for sim, então este texto é pra você.

Há alguns dias eu precisei enviar alguns arquivos criptografados e dentre a inúmeras possibilidades para isso optei por usar criptografia simétrica do gnupg (gpg). Até ai nada demais já que sempre usei a ferramenta e nunca tive problemas.

Preparei uma pasta de testes em minha máquina, digitei a linha de comandos conforme eu precisava (abaixo) e…

tar --create --file=- --remove-files PASTASECRETA | gpg --symmetric --output PASTASECRETA.gpg

…como esperava deu tudo certo. Então preparei o teste inverso, ou seja, descriptografar a pasta quando ela chegasse no destino.

Digitei a nova linha comandos, conforme abaixo e…

gpg --decrypt PASTASECRETA.gpg | tar --extract --file=-

…também deu tudo certo!!

Era a hora de fazer então na pasta que deveria ser enviada e ao repetir a mesma receita o resultado foi a mensagem:

gpg: problema com o agente: ioctl inapropriado para dispositivo
gpg: erro na criação da frase secreta: Operação cancelada
gpg: symmetric encryption of '[stdin]' failed: Operação cancelada

Após algumas pesquisas eu descobri que o GPG se perde com relação ao terminal onde ele deve pedir a senha, quando estamos usando uma conexão remota (SSH).

Embora eu já use esta ferramenta há vários anos, foi a primeira vez que vi (ou talvez que tenha me afetado) e nas pesquisas que fiz vieram junto a solução:

export GPG_TTY=$(tty)

Digite esta linha, que exporta a variável GPG_TTY com o endereço do terminal atual, antes de usar o comando gpg para cifrar ou decifrar os seus arquivos e tudo funcionará como deve.

Mas simples que esta linha, só se isso fosse dispensável.

Dentre as inúmeras referências a que segue abaixo foi a primeira que li com a solução, então segue o link:

https://stackoverflow.com/questions/51504367/gpg-agent-forwarding-inappropriate-ioctl-for-device

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.