Co je správce hesel PASS
Pass je správce hesel příkazového řádku vytvořený s ohledem na filozofii Unixu. Umožňuje vám pracovat s vašimi hesly pomocí běžných unixových příkazů. Přihlašovací údaje jsou uloženy v souborech zašifrovaných GPG.
PASS je komplikovaný! Jen pro geeky!
Toto je typická odpověď mnoha uživatelů, kteří pláčou na fórech. Ale není to pravda. Jakákoli technologie potřebuje znát některé základy používání. Pokud chcete řídit auto nebo hrát World of Warcraft, musíte se nejprve naučit základy. Abyste byli PRO, potřebujete víc. Pro základní a standardní uživatelské použití je pass jednoduchý a efektivní nástroj .
Základy GnuPG
Prvním základním know-how pro *nix je použití pgp klíčů a možnost šifrovat/dešifrovat a podepisovat vaši práci a soubory.
https://wiki.archlinux.org/title/GnuPG
sudo pacman -S gnupg nvim ~/.gnupg/gpg-agent.conf pinentry-program /usr/bin/pinentry-curses pinentry-program /usr/bin/pinentry-gnome3 max-cache-ttl 60480000 default-cache-ttl 60480000 # create new key-pair, follow questions, select master password reasonably gpg --full-gen-key # export/import your keys gpg --export --armor --output public.key user-id gpg --import public.key gpg --export-secret-keys --armor --output privkey.asc user-id gpg --import privkey.asc # make your key ultimate and default gpg --edit-key user-id/key type in cli: trust, choice 5, save, quit # search your keys gpg --search-keys user-id # optional upload your gpg public key to key servers https://keys.openpgp.org https://keyserver.ubuntu.com/ # encrypt/decrypt files example - asymmetric gpg --recipient user-id --encrypt doc gpg --output doc --decrypt doc.gpg
Pass základy
Hierarchie adresářů
Adresářová struktura závisí na vás. Preferuji používání passu nejen pro správu přihlašivacích hesel!
Moje hierarchie je následující
- credit-cards
- finance
- local
- login
- ssid
- token
Podsložky v login
syntaxe složky
- url/uživatelské jméno (pokud je více uživatelů nebo účtů)
- url (pouze jednoduchá adresa URL bez názvu účtu)
Podsložky v login
příklady složek
├── logitech.com
├── mail.plzen-edu.cz
├── malirskeplatna.cz
├── mall.cz
├── mastodon.arch-linux.cz
├── jira.cloud.cz
│ ├── andrew
│ ├── antfis
│ └── petr
Syntaxe uvnitř zašifrovaného souboru gpg
První řádek patří heslu podle pass
syntax. Všechny další řádky jsou volitelné dle vašeho přání. U kreditních karet můžete pro podrobnosti potřebovat mnohem více řádků. Můžete si uložit vše, co potřebujete. Je to pouze textový soubor.
Je tu jeden důležitý bod!
Pokud chcete použít passff
nebo jiná rozšíření, musíte použít login:
řádek s názvem vašeho účtu, do kterého bude automaticky vložen login field
v přihlašovacím formuláři webové stránky.
password
login: account
Základní příkazy
# initialize the password store pass init gpg-id_or_email # insert new password for archlinux.org with defined username # this insert is optional, I'm using mainly 'generate' and 'edit' command pass insert login/archilinux.org pass insert login/archlinux.org/username # generate password with N symbols, example with length 20 pass generate archlinux.org/wiki/username -n 20 # edit file to fill additional details - 'login:' row, etc. # edit command will use your $EDITOR, nvim, emacs etc. pass edit archlinux.org/wiki/username # publish changes directly to git private repo, no commit needed! # needs linkage with git first, see next chapters... pass git push # direct copy to clipboard pass -c login/archlinux.org # or integration with rofi, dmenu rofi-pass passmenu # pass fulltext search pass search archlinux
Integrace soukromého Git repozitáře
Nastavení na straně serveru
Nejprve vytvořte git bare private-repo
na vašem serveru, soukromém domácím cloudu nebo soukromém cloudovém úložišti git (tato poslední volba není z mé strany preferována). Je to standardní git repozitář, který bude ukládat vaše zakódované soubory gpg a adresářovou strukturu.
Pokud nevíte nic o git nebo git serverech. Postupujte podle předchozího článku git-bare-repo
nebo si jen přečtěte články o GitHubu a základní tutoriály git.
Nastavení na straně klienta
# create local password store pass init <gpg key-id/email> # Enable management of local changes through Git pass git init # Add the the remote git repository as 'origin' pass git remote add origin user@server:~/.password-store # Push your local pass history pass git push -u --all # just work with pass and git pass git pull pass generate ... pass edit ... pass git push # DONE. # all git operations work normally just with prefix 'pass'
Projděte kroky instalace nové stanice
Pokud máte nový počítač a potřebujete pass
a vaše úložiště na nové stanici. Můžete vytvořit nějaký malý skript, nebo stačí napsat těchto pár příkazů.
# install software sudo pacman -S gnupg pass rofi-pass git # import public and private keys gpg --import gpg-public.key gpg --import privkey.asc # ultimate access for your gpg key for new station gpg --edit-key user-idOrkey-id type in cli: trust, choice 5, save, quit # clone your git repostiory to .password-store git clone gitlab@server:repo/pass-store.git ~/.password-store # configure your pass git pass git config --global user.email "email" pass git config --global user.name "name" pass git config --global user.signingkey <key-id> # gpg and pinetry check or add nvim ~/.gnupg/gpg-agent.conf pinentry-program /usr/bin/pinentry-gnome3
Integrace Rofi/dmenu
Rofi a dmenu má rychlé a výkonné použití s passem
sudo pacman -S rofi-pass rofi-pass passmenu
# example integration with awesomewm awful.key({modkey, altkey},"p",function() awful.spawn.with_shell("rofi-pass -t") end, {description="types password from pass", group="launcher"}), awful.key({modkey, ctrlkey},"p", function() awful.spawn.with_shell("rofi-pass") end, {description="copy password from pass", group="launcher"}),
Passff - integrace do Firefoxu
Nainstalujte passff
rozšíření do vašeho Firefoxu z Firefox Extension Storage.
Vytvořit host
spojení, komunikační protokol mezi systémem a rozšířením passff. To se nazývá passff-host
; tato aplikace má implementaci pro každou distribuci. Pro Arch můžete použít balíček AUR.
% git clone https://aur.archlinux.org/passff-host.git/ % cd passff-host % makepkg -si
browserpass – integrace Brave, Chromium, Firefox
Nainstalujte browserpass
z úložiště rozšíření prohlížeče. O projektu zde .
Integrace s vaším systémem, podobně jako passff-host
paru -S browserpass
Nainstalujte browserpass úložiště rozšíření prohlížeče.
Integrace s vaším systémem, podobně jako passff-host
paru -S browserpass
Password Store, OpenKeychain – integrace se systémem Android
Stačí nainstalovat obě aplikace pro Android. První PasswordStore
aplikace musí být v telefonu prohozena s výchozím správcem hesel nebo pouze v nastavení prohlížeče. Druhý OpenKeychain
aplikace je úložiště pro vaše soukromé a veřejné klíče gpg a poskytuje API pro PasswordStore
.
PasswordStore
má plnou podporu pro soukromé repozitáře git, git pull a push funguje z nabídky.
S tímto řešením nemám žádné chyby a toto úložiště a správce hesel používám několik let.
Integrace Windows - WSL2
Integrace MS Windows a WSL2 je pokročilé téma. Napsal jsem o tom jiný článek .
Další Aplikace a možnosti
Sledujte domovskou stránku pass dole!
- Kompatibilní klienti
- Migrace z jiných klientů
Například Gopass .
https://github.com/gopasspw/gopass
Pass - Credit & License
pass was written by Jason A. Donenfeld of zx2c4.com and is licensed under the GPLv2+.
Důležité odkazy:
- https://www.passwordstore.org/
- https://wiki.archlinux.org/title/GnuPG
- https://wiki.archlinux.org/title/Pass
- https://github.com/passff/passff
- https://github.com/passff/passff-host
- https://github.com/browserpass/browserpass-extension
- Password Store + OpenKeychain (Android Google Play)
- pass project source code a mirror
- https://fishlive.org/en/blog-tech-art/pass-zx2c4-and-passff-for-wsl2-windows
- GitHub autora
Závisí na:
- bash http://www.gnu.org/software/bash/
- GnuPG2 http://www.gnupg.org/
- git http://www.git-scm.com/
- xclip (for X11 environments) http://sourceforge.net/projects/xclip/
- wl-clipboard (for wlroots Wayland-based environments) https://github.com/bugaevc/wl-clipboard
- tree >= 1.7.0 http://mama.indstate.edu/users/ice/tree/
- GNU getopt http://www.kernel.org/pub/linux/utils/util-linux/ http://software.frodo.looijaard.name/getopt/
- qrencode https://fukuchi.org/works/qrencode/