Estoy intentando cifrar un archivo tar usando una contraseña almacenada en un archivo: ~/Documents/Secret/.secret
usando el siguiente comando:
cat ~/Documents/Secret/.secret | gpg -c --passphrase-fd 0 ~/backup.tar
Ahora espero generar este archivo: ~/backup.tar.gpg
pero no genera nada.
Recibo este error, ¿alguien puede ayudarme? De hecho estoy 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
Estoy intentando cifrar este archivo en mi raspberry pi 3 con Raspian 9 (Stretch)
Respuesta1
El comando correcto para cifrar un archivo usando una frase de contraseña almacenada en un archivo es:
gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar
Dónde:
-c
Cifrar el archivo--batch
Es lo que estaba buscando: Me permitió ejecutar el proceso de cifrado en un script.--yes
Confirme muchos mensajes en caso de solicitud (como: "¿Quieres sobrescribir?")--passphrase-file myKey
Indica dónde se almacena la clave.--output
cryptedFile.gpg` Indica el nombre de salida
Respuesta2
Probablemente deberías usar la --pinentry-mode loopback
opción, ya que permite frases de contraseña en archivos y canalizaciones (descriptores de archivos).
Los comandos --batch
y --yes
eliminan muchas de sus opciones e introducen riesgos, uno de los cuales es sobrescribir archivos existentes. --output
Tampoco sería necesario entonces, los archivos nuevos obtienen automáticamente la .gpg
extensión.
(En mi opinión, ambas son solo soluciones para errores introducidos por programas de entrada forzada).