Program gocryptfs służy do tworzenia zaszyfrowanych sejfów, jego zaletą jest to, że każdy plik jest szyfrowany z osobna, nie tak jak w innych przypadkach, gdzie szyfrowany jest obraz na dysku w postaci monolitycznego pliku.

Składnia jest prosta: gocryptfs [zaszyfrowany-sejf] [rozszyfrowany-katalog] np:

gocryptfs ~/.local/share/sejf-zaszyfrowany-1 ~/Vaults/sejf-1

Do odszyfrowania hasła możemy posłużyć się zewnętrznym programem np: gopass, pass czy GnuPG, program gocryptfs posiada parametr -extpass, gdzie umieszczamy linię kodu, która zwróci nam hasło do odszyfrowania sejfu.

Dzięki czemu hasło do klucza GPG może być dość łatwe do zapamiętania, natomiast hasło do odszyfrowania sejfu może być bardzo trudne i nie musimy go pamiętać, więc jeśli prześlemy nasz zaszyfrowany sejf na zewnętrzny serwer, odszyfrowanie go będzie mocno utrudnione, zwłaszcza bez posiadania hasła do klucza i samego klucza.

gocryptfs -extpass 'gpg --homedir ~/.gnupg-temp -q --decrypt /home/user/.config/gocryptfs.key.asc' ~/.local/share/plasma-vault/Sejf-1.enc/ ~/Vaults/Sejf-1/

Jako, że szyfruję również katalog GPG, więc skorzystałem z parametru --homedir programu gpg, dzięki czemu klucz deszyfrujący jest przechowywany w oddzielnym katalogu.

Należy zwrócić uwagę na parametr --decrypt …​, tutaj należy podać pełną ścieżkę, bez użycia aliasów ~/ lub $HOME.

Żeby stworzyć osobny katalog z kluczem GPG możemy na przykład na nowo wygenerować nowy klucz w osobnym katalogu:

gpg --gen-key --homedir ~/.gnupg-temp

Innym sposobem jest import istniejącego już klucza. Do tego będziemy potrzebowali klucza prywatnego, więc najpierw wyeksportujmy taki klucz.

Wyświetlmy wszystkie klucze prywatne:

gpg -K

Eksport klucza prywatnego:

gpg  -o ~/klucz --export-secret-keys adres@email.pl

Tworzymy nowy katalog

mkdir ~/.gnupg-gcfs
chmod 0700 ~/.gnupg-gcfs

Importujemy wcześniej wyeksportowany klucz

gpg --homedir ~/.gnupg-gcfs --import ~/klucz

Teraz sprawdźmy listę kluczy w nowej lokalizacji

gpg --homedir ~/.gnupg-gcfs --list-secret-keys

wstecz

Date: 2022-07-16T17:03:23+02:00