Na synology zaczałem robić dodatkowe kopie, jednak aby było bezpieczniej chciałm uzyć szyfrowania GPG. Do tego potrzebne jest klucz GPG, jednak fajnie było by mieć klucz prywatny z hasłem. Normalnie na linux wykonuje gpg – –full-generate-key i odpowiadałem na pytania. Jednak wersja na synology nie działa od ręki dosataję error:
gpg: agent_genkey failed: No pinentry
Key generation failed: No pinentry
Można wykorzystać plik z konfiguracją ale bez hasła, np. key-config.txt:
%no-protection
Key-Type: RSA
Key-Length: 4096
Subkey-Type: RSA
Subkey-Length: 4096
Name-Real: Twoje Imię
Name-Email: [email protected]
Expire-Date: 0
%commit
i wykonać:
gpg –batch –generate-key key-config.txt
Jednak przechowywani kluczy bez hasła nie do konća jest bezpieczne, można to rozwiązać za dodając do pliku:
%no-protection
Key-Type: RSA
Key-Length: 4096
Subkey-Type: RSA
Subkey-Length: 4096
Name-Real: Twoje Imię
Name-Email: [email protected]
Expire-Date: 0
Passphrase: moje_super_haslo
%commit
Można także dodać do komendy:
export GPG_PASSPHRASE=„moje_super_haslo”
gpg –batch –passphrase „$GPG_PASSPHRASE„ –gen-key key-config.txtunset GPG_PASSPHRASE
inne rozwiązanie, aby wykonać polecenie:
gpg –pinentry-mode loopback –full-generate-key
Dzięki temu w konsoli zapyta sie a nie bedzie próbował odpalić pinentry. Można dodać do pliku konfiguracyjnego na stałe:
Dla użytkownika:
~/.gnupg/gpg.conf
lub dla całego systemu:
/etc/gnupg/gpg.conf
pinentry-mode loopback
use-agent
i od tego momentu wystarczy wykonać:
gpg –full-generate-key
Operacje na kluczach:
1) wyświetlenie listy kluczy:
gpg –list-keys
2) export/kopia klucza prywatnego – należy go pilnować zwłaszcza jak nie ma hasła, klucz prywatny służy do rozszyfrowania, weryfikacji podpisu itp:
a) wersja binarna
gpg –pinentry-mode loopback –export-secret-keys –export-options export-backup -o klucz_pelny_backup.gpg FINGER_PRINT_KLUCZA
b) wersja tekstowa
gpg –pinentry-mode loopback –export-secret-keys –export-options export-backup –armor -o klucz_pelny_backup.gpg FINGER_PRINT_KLUCZA
3) export klucza publicznego, służy do szyfrowani, podpisywania itp:
a) wersja binarna
gpg –pinentry-mode loopback –export –export-options export-backup -o klucz_pelny_backup.gpg FINGER_PRINT_KLUCZA
b) wersja tekstowa
gpg –pinentry-mode loopback –export –export-options export-backup –armor -o klucz_pelny_backup.gpg FINGER_PRINT_KLUCZA
Wiekszość opisów jest bez opcji –export-options export-backup jest ona potrzebna aby wszystkie metadane.
4) Usuwanie klucza prywatnego, tutaj nie zadziała –pinentry-mode loopback wiec jak jest problem z pinentry dlatego należy wykonać, TRZEBA NA TO UWAŻAĆ BO NIE ZAPYTA O POTWIERDZENIE CZY USUNAĆ:
gpg –batch –yes –delete-secret-keys FINGER_PRINT_KLUCZA
jednak jak działa pinentry ( wersja nie zalecana) to wytarczy
gpg –delete-secret-keys FINGER_PRINT_KLUCZA
5) Usuniecie klucza publicznego, można to wykonać jak nie ma już klucza prywatnego:
gpg –batch –yes –delete-keys FINGER_PRINT_KLUCZA
lub
gpg –delete-keys FINGER_PRINT_KLUCZA
6) Importowanie klucza prywantego/publicznego:
gpg –pinentry-mode loopback –import klucz_pelny_backup.gpg