Estou tentando criptografar um arquivo tar usando uma senha armazenada em um arquivo: ~/Documents/Secret/.secret
usando o seguinte comando:
cat ~/Documents/Secret/.secret | gpg -c --passphrase-fd 0 ~/backup.tar
Agora espero gerar este arquivo: ~/backup.tar.gpg
mas ele não produz nada.
Recebo esse erro, alguém pode me ajudar? Na verdade estou perdido:
gpg: problem with the agent: ioctl non appropriata per il device
gpg: error creating passphrase: Operazione annullata
gpg: symmetric encryption of '/home/pi/backup.tar' failed: Operazione annullata
Estou tentando criptografar este arquivo no meu Raspberry Pi 3 com Raspian 9 (Stretch)
Responder1
O comando correto para criptografar um arquivo usando uma senha armazenada em um arquivo é:
gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar
Onde:
-c
Criptografe o arquivo--batch
É o que eu procurava: permitiu-me executar o processo de criptografia em um script--yes
Confirme muitas mensagens em caso de solicitação (como: "Quer substituir?")--passphrase-file myKey
Indica onde a chave está armazenada--output
cryptedFile.gpg` Indica o nome da saída
Responder2
Você provavelmente deveria realmente usar a --pinentry-mode loopback
opção, ela permite senhas em arquivos e pipes (descritores de arquivos).
Os --batch
comandos e --yes
eliminam muitas de suas opções e apresentam riscos, e o menos importante deles é sobrescrever arquivos existentes. --output
também não seria necessário, novos arquivos obtêm automaticamente a .gpg
extensão.
(Ambos os IMO são apenas soluções alternativas para bugs introduzidos por programas de pinentry forçados).