Szyfrowanie plików i folderów za pomocą terminala

16

Jestem nowym użytkownikiem szyfrowania na Ubuntu.

Czy istnieje sposób szyfrowania plików i folderów za pomocą hasła z terminala? bez używania truecrypt lub cryptkeeper itp.

twister_void
źródło

Odpowiedzi:

15

Możesz szyfrować i deszyfrować pliki za pomocą gpg

Aby zaszyfrować plik

gpg -c file.to.encrypt

Aby odszyfrować plik

gpg file.to.encrypt.gpg

Ale gpg nie zrobi całych katalogów. Dla całych katalogów masz kilka opcji, ecryptfs jest popularny.

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

# Make an encrypted directory
ecryptfs-setup-private

To sprawi, że katalog będzie „Prywatny”. Wszelkie dane wprowadzone do katalogu Privatezostaną automatycznie zaszyfrowane po wylogowaniu i odszyfrowane po zalogowaniu.

Jeśli chcesz innego zachowania lub innego katalogu ...

mkdir ~/secret
chmod 700 ~/secret

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

Umieść swoje dane w ~ / secrte

Szyfrować

sudo umount ~your_user/secret

Aby odszyfrować

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

Wskazówka: utwórz alias dla tego drugiego polecenia.

Dodatkowe informacje można znaleźć na stronie http://bodhizazen.com/Tutorials/Ecryptfs lub man ecryptfs .

Pantera
źródło
10

ecryptfs z pewnością zaszyfruje pliki i foldery, zapewniając, że dane zapisywane na dysku są zawsze szyfrowane, a aplikacje, które potrzebują dostępu do kontekstu czystego tekstu, mogą to uzyskać bezproblemowo.

Jednak, aby odpowiedzieć konkretnie na twoje pytanie, z pewnością możesz zaszyfrować pojedynczy plik za pomocą hasła i gpg:

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

Aby zaszyfrować folder, powinieneś użyć tar w połączeniu z gpg:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg
Dustin Kirkland
źródło
3
Dla wszystkich, którzy przeczytali to szybko i byli trochę zdezorientowani wynikiem .. 14.04 gpg -c /tmp/file > /tmp/file.gpgnie zwraca tego, czego się spodziewałem, zamiast tego pisze pusty plik. Moje użycie polega na gpg -c /tmp/filetym, że automatycznie dodaje rozszerzenie .gpg do pliku wynikowego.
Phil,
1

encfs, jak sugerują dokumenty społeczności , działa całkiem dobrze.

Instalowanie: Aby zainstalować, musisz najpierw dodać repozytorium wszechświata

Następnie wydaj polecenie:

sudo apt install encfs

Następnie wystarczy wpisać w terminalu: encfs encrypted visibletworzyć foldery w bieżącym katalogu o nazwie encrypteda visiblei ustawić hasło.

Na przykład, jeśli jestem w domyślnym katalogu (domowym) (użyj, pwdaby zobaczyć, gdzie jesteś), spowoduje to utworzenie folderów /home/ijoseph/visiblei /home/ijoseph/encrypteddla mnie, ponieważ moja nazwa użytkownika to ijoseph.

visiblemogą być zapisywane i odczytywane, a dane są zaszyfrowane w encryptedfolderze.

Aby „ukryć” swoje dane i pozostawić tylko zaszyfrowaną wersję folderu, wpisz fusermount -u visible. Będziesz chciał to zrobić przed wylogowaniem lub fizycznym przeniesieniem laptopa, zwykle w celu ochrony. Podczas visiblepisania zauważysz, że wszystko znika z folderu ls.

Aby ponownie zamontować (ponownie uzyskać dostęp do visiblefolderu w celu odczytu / zapisu), uruchom encfs encrypted visibleponownie.

ijoseph
źródło
Dziękuję za tę odpowiedź! Gdybym mógł być tak odważny, aby to zasugerować, odpowiedź ta zostałaby poprawiona poprzez dodanie kroków niezbędnych dla nowego użytkownika do zainstalowania i używania encfs
Elder Geek
2
Mam na myśli nowego użytkownika Ubuntu bez doświadczenia lub doświadczenia. Przepraszam za brak jasności! Wygląda na to, że masz dość dobrze opisane użycie, ale ktoś nowy w Ubuntu może nie wiedzieć, jak uzyskać dostęp do repozytorium Universe i zainstalować go encfs. Twoje zdrowie!
Elder Geek
2
ElderGeek próbuje powiedzieć, że być może mógłbyś sprawić, by twoja odpowiedź była bardziej przyjazna dla
Nooba
1
Tak lepiej. ;-)
Starszy Geek
1
W razie wątpliwości Package.ubuntu.com zapewnia wiele informacji. Jest na moim szybkim wybieraniu. ;-)
Starszy Geek