(Rozumiem konsekwencje poniższych problemów dla bezpieczeństwa i nie mam nic przeciwko).
Mam jeden plik zaszyfrowany w moim org katalogu diary.org.gpg
. Jeszcze nigdy nie zrobiłem żadnej specjalnej konfiguracji, żeby działała
- Za każdym razem, gdy odwiedzam ten plik, pojawia się monit o hasło do szyfrowania. Który jest świetny.
- Za każdym razem, gdy zapisuję bufor, dwukrotnie pojawia się monit o hasło. To jest mój problem .
Pamiętaj, że nie skonfigurowałem niczego, aby to działało, więc wszelkie odpowiedzi dotyczące agentów lub breloków będą musiały zawierać instrukcje konfiguracji.
Myślałem o zachowaniu hasła zapisanego gdzieś w pliku (w nagłówku lub w komentarzach na końcu pliku). Następnie, za każdym razem, gdy zapisuję, Emacs może odczytać hasło w buforze i użyć go zamiast monitować mnie. Ale kiedy zacząłem się temu przyglądać, zgubiłem się gdzieś w środku epa.el
.
P: Jak mogę wysłać hasło bezpośrednio z Emacsa do systemu / procesu szyfrowania podczas zapisywania bufora, zamiast być o to poproszony?
Całą resztę (znajdowanie hasła w buforze) mogę sam rozgryźć. Właśnie się zgubiłem, próbując zrozumieć, w jaki sposób Emacs łączył się z gpg.
Pamiętaj, że korzystam z Ubuntu, Arch Linux i Windows. Właśnie dlatego moim pierwszym pomysłem było rozwiązanie skoncentrowane na emacsie.
Mogę żyć z rozwiązaniem, które nie działa w systemie Windows, o ile nadal mogę uzyskać dostęp do pliku w nim ręcznie.
źródło
gpg-agent
, że podobnie jest possh-agent
prostu przechowywanie haseł, które masz, po aktywacji. Więc nie pojawi się monit o hasło ani podczas otwierania pliku, ani podczas jego zapisywania (o ile agent pamięta hasło), ale nie sądzę, że dotyczy to hasła, które jest trochę głupie , Jeśli prawda.gpg-agent
poprawnie skonfigurować , aby przez chwilę buforował klucz? :)Odpowiedzi:
Szyfrowanie przy użyciu hasła + klucza
To nie zapisuje hasła bezpośrednio w pliku, ale robi coś podobnego bez ryzyka bezpieczeństwa i pomaga osiągnąć to, co chcesz.
Musisz użyć szyfrowania asymetrycznego, aby hasło było powiązane z identyfikatorem e-mail w breloku .
Zapisz poniżej u góry pliku .gpg
Hasło jest monitowane przy pierwszym zapisaniu / utworzeniu pliku. Ale potem hasło jest monitowane tylko raz przy każdym otwarciu zapisanego pliku
Jedynym haczykiem jest to, że nie możesz stracić pliku kluczy, który jest
~/.gnupg/
domyślnie zapisany .Konfiguracja GPG
Konfiguracja Emacsa
W Emacsie nie jest wymagana żadna konfiguracja.
Ustawienia systemu
Ale musisz mieć przygotowane środowisko systemowe z kilkoma bibliotekami, aby funkcja GPG działała.
W momencie konfigurowania musiałem zainstalować następujące elementy:
Potrzebowałem jednej lub dwóch powyższych bibliotek i ostatecznie instalowałem inne, ponieważ były to albo obowiązkowe, albo opcjonalne zależności.
Po zainstalowaniu wszystkiego zrób
I wygeneruj dla siebie klucz, który nigdy nie wygasa, i powiąż go ze swoim prawdziwym nazwiskiem i adresem e-mail.
Wygenerowany klucz zostanie zapisany w twoim
~/.gnupg/
katalogu.Zmiana lokalizacji kluczy
Możesz zmienić lokalizację breloka, zmieniając
$GNUPGHOME
, używając--homedir
lub--keyring
opcje dlagpg
.Od
man gpg
:Używanie GPG z emacsem
W emacsie po prostu tworzysz plik z
.gpg
rozszerzeniem. Na przykład, jeśli plik był pierwotnieauth.el
, zmień jego nazwę naauth.el.gpg
.Umieść ten wiersz na górze pliku:
Zauważ, że użyłem znaków komentarza elisp,
;;
tak jak w tym przykładzieauth.el.gpg
.Użyj dokładnego adresu e-mail, którego użyłeś podczas generowania klucza.
Kiedy spróbujesz go zapisać, emacs wyświetli ten monit w buforze:
Przejdź punkt do linii zawierającej klucz, naciśnij
m
.Przejdź przez punkt do
[OK]
przycisku i naciśnij<return>
.Możesz teraz zapisać plik i zabić ten bufor pliku.
Następnym razem, gdy otworzysz ten plik .gpg, zostaniesz poproszony o podanie hasła tylko raz, a następnie kolejne zapisy będą wolne od hasła.
Więcej informacji
źródło
Okazuje się, że wszystko, co musiałem zrobić, to
To rozwiązanie działa zarówno w systemie Linux, jak i Windows, a dzięki uprzejmości Teda i Michaela w help-gnu-emacs.
źródło
epa-file-cache-passphrase-for-symmetric-encryption
: „Zauważ, że ta opcja nie działa, jeśli używasz GnuPG 2.0”.