Estoy escribiendo un script que crea archivos de proyecto y luego crea archivos 7z de ellos para que sea más fácil para mí guardar versiones específicas y mantener copias de seguridad cifradas.
Después de generar los archivos y llegar a la fase de cifrado, me gustaría cifrar los archivos con una sola llamada, gpg
si es posible, para que el usuario solo ingrese su frase de contraseña una vez. De lo contrario, tendríamos que guardar en caché la frase de contraseña del usuario en la memoria (lo que realmente me gustaría no hacer) o hacer que ingresen y confirmen su frase de contraseña para cada proyecto archivado (lo que es peor).
¿Hay alguna manera de pasar varios nombres de archivo para gpg
que los cifre todos de una vez?
Si intento esto:
$ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z
... veo el siguiente error en el shell:
usage: gpg [options] --symmetric [filename]
¿Hay alguna manera de hacer lo que estoy buscando lograr?
Respuestas:
No no hay.
Es probable que desee pasar la frase de contraseña con una de las siguientes opciones de gpg (esta última sería la opción más segura):
fuente
Dado que GnuPG no admite esto directamente, la forma de hacerlo sería agregar otra capa, por ejemplo, usando
tar
.Y para extraer:
Te quedarás con
project1.7z
yproject2.7z
. Su guión puede continuar donde lo dejó.fuente
Si quieres probar algo más, GPG hay otros métodos de respaldo para encriptar múltiples archivos:
fuente original: http://www.obsd.hu/docs/Unix-backup-with-aes.txt
Uso: simplemente use "DIRECTORIO de respaldo" para el cifrado y "descifre el DIRECTORIO.tar.gz.aes"
fuente
Hoy he logrado hacer algo como esto:
Cambié el directorio al directorio que contiene los archivos de destino, y ejecuté un script Bash para encontrar los nombres de archivo necesarios y enumerarlos en un archivo de texto al que llamé
found.txt
.Ejecuté un script Bash pidiéndole a gpg2 que leyera cada nombre de archivo en un bucle y en una variable de memoria, y en el mismo bucle para encriptarlo usando mi clave de firma y especificando que era para leer por mí mismo. gpg2 muestra una ventana emergente para poner su frase de contraseña, que tiene una pequeña casilla de verificación donde puede optar por mantener su frase de contraseña activa para la sesión. Mala práctica, pero no es tan mala si no está en la red y se apaga inmediatamente después de la sesión de cifrado.
El único problema era que había que manejar un ay / n. Así que me senté con mi dedo en la tecla Y y cifré 51 archivos nos en menos de un minuto.
Los guiones se dan a continuación:
El script 'find' era un archivo llamado
FindFilesAndListtoTextfile.sh
:El script de cifrado se llamaba ReadFilenameAndEncrypt.sh:
Esto se debe ejecutar como un usuario normal:
Espero que esto ayude. No he descubierto cómo evitar la y / n.
fuente
El siguiente comando funciona para mí siempre que no tenga ningún nombre de archivo con espacios en ellos.
También puede usar el comando find también.
Por último, si desea usar un archivo para la contraseña, use:
fuente
Sí, hay una manera fácil:
fuente
echo "Ingrese una contraseña:"
leer contraseña
encontrar . -tipo f -exec gpg --passphrase $ contraseña -c {} \;
Hmmmmmm GPG pide con GraphicMessageBox una contraseña para cada archivo.
Entonces, decidí usar CRYBULL (programa de criptografía que creé) en C-ANSI. Puede descargarlo gratis en www.labolida.com
encontrar . -tipo f -exec crybull {} {} .cry $ contraseña codificar \;
fuente