Terminal pogryzł człowieka: pass

Podczas gdy świat zachłysnął się mnogością i funkcjonalnością graficznych menedżerów haseł, w zaciszu terminala niepozorny pass skrywa nie mniejsze i nie gorsze możliwości. Bo czego tak naprawdę potrzebujemy aby mieć pod ręką nasze hasła? Bezpiecznego i zaszyfrowanego schowka oraz programu oferującego szybki podgląd i kopiowanie hasła do bufora. Pass stwarza warunki do właśnie takiej pracy.

Ładna lista haseł
Koncepcja pass jest na wskroś linuksowa. Wszystkie nasze działania przeprowadzane w terminalu odbywają się za pomocą kilku poleceń. To właśnie nimi dodamy, usuniemy, zmienimy lub skopiujemy hasło. Nasz wszystkim czuwa oczywiście GPG, dzięki któremu całość (~/.password-store) zostanie odpowiednio zaszyfrowana z użyciem naszego klucza. Tak, to wszystko – program jest przewidziany do konkretnego i jasno określonego zadania, nie oczekujmy zatem innych fajerwerków.

Jak używać pass? Zanim przystąpimy do powierzania mu naszych haseł, należy używać naszego klucza GPG:

gpg --list-keys

… lub wygenerować sobie nowy:

gpg --gen-key

Wtedy możemy przystąpić do stworzenia swojego schowka na hasła:

pass init identyfikator_gpg

Identyfikator to nic innego jak adres email jaki użyliśmy podczas tworzenia naszego klucza. Teraz pozostaje nam powrzucać do tak utworzonego sejfu nasze hasła:

pass insert Email/mojtajny@email.com
pass insert Bank/4837734682
pass insert Email/zapasowyemail@com.com

… i tak dalej. Gdyby zaszła taka konieczność, możemy poprosić program o wygenerowania dla nas hasła dla jakiegoś konta:

pass generate XMP/mojekonto@jabber.org 15

Po uzupełnieniu informacji możemy podejrzeć efekty naszej pracy.

~ $ pass show
Password Store
├── Bank
│   └── 4837734682
├── Email
│   ├── mojtajny@email.com
│   └── zapasowyemail@com.com
└── XMP
    └── mojekonto@jabber.org

Aby wyświetlić dowolne hasło wystarczy:

pass Email/mojtajny@email.com

Lub skopiować go do bufora (clipboard):

pass -c Email/mojtajny@email.com

Co jest piękne w tym projekcie, to to, że autor przewidział konwencjonalną manipulację danymi. Możemy zatem listować konkretne pozycje (pass ls nazwa), wyszukiwać (pass find nazwa), kasować (pass rm nazwa), kopiować i przenosić wpisy (pass mv/copy nazwa nazwa). Co więcej, możemy również „przegrepować” bazę (pass grep reguła), edytować (pass edit nazwa) i tak dalej.

Na tym nie kończy się poziom miodności tego prostego polecenia tekstowego. Co powiecie na utworzenie schowka na hasła jako repozytorium Git? (obsługa według obowiązujących prawideł, pass git push, pass git pull). Możliwości jest sporo i nawet jeżeli ktoś nie doceni ich z poziomu terminala, to zawsze można użyć jednego z wielu GUI (np. QtPass).

Kolejną dobra wiadomością jest to, że pass znajdziemy w repozytoriach niemal wszystkich dystrybucji.
 

4 komentarze

  1. Pojedyncze pliki z hasłami szyfrowane kluczem gpg i wszystko zachowane w strukturze katalogów. Co nam to daje? Możemy dowolnie manipulować nazwami, katalogami, grupować hasła, a klucza gpg potrzebujemy tylko by odczytać/zmienić hasło. Czym można prościej? Chyba tylko zachowyjąc wszystkie w jednym pliku. Uwielbiam takie rozwiązania. Pozdrowienia dla autora i oby więcej takich artykułów 🙂

  2. wystarczy poprzedzić polecenie spacją na początku i już nie będzie w bash_history 😉 Pzdr!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.