Cifrado de archivos y carpetas a través del terminal


Respuestas:


15

Puede cifrar y descifrar archivos con gpg

Para encriptar un archivo

gpg -c file.to.encrypt

Para descifrar un archivo

gpg file.to.encrypt.gpg

Pero gpg no hará directorios completos. Para directorios completos tiene varias opciones, ecryptfs es popular.

# Install if ecryptfs-utils if needed
sudo apt-get install ecryptfs-utils

# Make an encrypted directory
ecryptfs-setup-private

Eso hará que un directorio sea "Privado". Cualquier información que coloque en el directorio Privatese cifrará automáticamente cuando cierre la sesión y se descifrará cuando inicie sesión.

Si desea un comportamiento diferente o un directorio diferente ...

mkdir ~/secret
chmod 700 ~/secret

sudo mount -t ecryptfs ~your_user/secret ~your_user/secret

Pon tus datos en ~ / secrte

Encriptar

sudo umount ~your_user/secret

Descifrar

sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes

Pista: crea un alias para ese segundo comando.

Consulte http://bodhizazen.com/Tutorials/Ecryptfs o man ecryptfs para obtener detalles adicionales.


10

ecryptfs ciertamente encriptará archivos y carpetas, asegurando que los datos que se escriben en el disco siempre estén encriptados, y que las aplicaciones que necesitan acceso al contexto de texto sin cifrar puedan hacerlo sin problemas.

Sin embargo, para responder su pregunta específicamente, ciertamente puede encriptar un solo archivo con una frase de contraseña y gpg:

gpg -c /tmp/file > /tmp/file.gpg

Para cifrar una carpeta, debe usar tar junto con gpg:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg

3
Para cualquier otra persona que leyó esto rápidamente y estaba un poco confundido por el resultado ... el 14.04 gpg -c /tmp/file > /tmp/file.gpgno devuelve lo que esperaba, sino que escribe un archivo vacío. Mi uso es el gpg -c /tmp/fileque agrega automáticamente la extensión .gpg al archivo resultante.
Phil

1

encfs, como lo sugieren los documentos de la comunidad , funciona bastante bien.

Instalación: para instalar primero debe agregar el repositorio de universos

Luego emita el comando:

sudo apt install encfs

A continuación, simplemente escriba en el terminal: encfs encrypted visiblecrear carpetas en el directorio actual llamado encryptedy visibley establecer una contraseña.

Por ejemplo, si estoy en el directorio predeterminado (inicio) (use pwdpara ver dónde se encuentra), esto creará carpetas /home/ijoseph/visibley /home/ijoseph/encryptedpara mí, ya que mi nombre de usuario es ijoseph.

visiblese puede escribir y leer, y almacena sus datos encriptados en la encryptedcarpeta.

Para "ocultar" sus datos y dejar solo la versión cifrada de la carpeta, escriba fusermount -u visible. Deberá hacer esto antes de cerrar sesión o mover físicamente su computadora portátil, por lo general, para protección. Notarás que todo desaparece de la visiblecarpeta cuando escribes ls.

Para volver a montar (recuperar acceso a la visiblecarpeta para lectura / escritura), encfs encrypted visiblevuelva a ejecutar .


Gracias por esta respuesta! Si pudiera ser tan audaz como para sugerirlo, esta respuesta mejoraría al agregar los pasos necesarios para que un nuevo usuario instale y use encfs
Elder Geek

2
Me refiero a un usuario nuevo en Ubuntu con poca o ninguna experiencia. Mis disculpas por la falta de claridad! Parece que tiene un uso bastante bien cubierto, pero alguien nuevo en Ubuntu podría no saber cómo acceder e instalar el repositorio de Universe encfs. ¡Salud!
Élder Geek

2
Lo que ElderGeek está tratando de decir es que tal vez podrías hacer que tu respuesta sea un poco más amigable para los novatos;)
Sergiy Kolodyazhnyy

1
Eso es mejor. ;-)
Élder Geek

1
En caso de duda, packages.ubuntu.com proporciona una gran cantidad de información. Está en mi marcación rápida. ;-)
Élder Geek
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.