Mi sistema operativo es Ubuntu 20.04.2 lts.
Estoy creando un archivo tar desde el directorio noup1, que contiene archivos y subcarpetas, contar cf no1.tar noup1
Cifrelo con gpg -c no1.tar
. Ahora tengo un no1.tar.gpg
archivo.
Si intento descifrarlo con gpg -d no1.tar.gpg
, aparecen muchos caracteres garabatos en la terminal y no funciona.
Si solo uso gpg no1.tar.gpg
, sin la -d
bandera, obtengo un resultado que dice "no se dio ningún comando. Tratando de adivinar ..."
gpg: WARNING: Kein Kommando angegeben. Versuche zu raten was gemeint ist ...
gpg: AES256 verschlüsselte Daten
gpg: Verschlüsselt mit einer Passphrase
y el archivo ahora no está cifrado. ¡Así que esto funciona!Pero ¿cómo y por qué??
Por otro lado, si uso la -d
bandera y canalizo el resultado a tar, ¡tiene éxito!
gpg -d no1.tar.gpg | tar xf -
Cómo crear archivos cifrados comprimidos con tar y gpg
Entonces me pregunto:
Cuál es el "comando adivinado"¿Eso fue ejecutado?
¿Por qué la -d
bandera no funciona, pero sí funciona si se canaliza a tar, a pesar de que todos los tutoriales relevantes indican descifrar un archivo tar usando gpg -d <archive-name>
y no gpg <archive-name>
?
¿Es posible que me falten algunos paquetes o que haya algún problema con mi configuración de gpg?
Respuesta1
por elpáginas de manualpara gpg,
-d
Descifre el archivo proporcionado en la línea de comando (o STDIN si no se especifica ningún archivo) y escríbalo en STDOUT (o el archivo especificado con --output). Si el archivo descifrado está firmado, también se verifica la firma. Este comando difiere de la operación predeterminada, ya que nunca escribe en el nombre de archivo incluido en el archivo y rechaza archivos que no comienzan con un mensaje cifrado.
entonces -d estaba funcionando bien, pero estaba descifrando el archivo en STDOUT, razón por la cual vio un montón de resultados basura. esos son los datos codificados para su archivo .tar, por lo que no sorprende que sea un galimatías.
Si desea que se descifre en un archivo en lugar de en el flujo de salida del shell, utilice --output <filename>
o redirija la salida a un archivo.
Creo (no puedo leer alemán) que cuando ejecutaste el comando en el archivo, asumo que ejecutó el equivalente a
gpg -d no1.tar.gpg --output no1.tar