Ich habe nach einem Passwortspeicher gesucht, der seit Jahren für mich funktioniert, und bin kürzlich auf Pass on HackerNews gestoßen. Die Idee, Passwörter in einem Git-Repository zu speichern, mag seltsam klingen, aber insgesamt ist es keine schlechte Idee, weil:
- Ich habe ein Git-Repository lokal auf meinem Computer
- Alle Passwörter sind durch GPG-Verschlüsselung geschützt. Selbst wenn ich SSH-Zugriff auf meinen Computer erhalte, hat das Leck keine Auswirkungen auf die Sicherheit
Ich benutze -c zum Kopieren / Einfügen von Passwörtern. Es gibt eine Erweiterung für den Browser, aber das Kopieren und Einfügen ist für mich persönlich bequemer. Synchronisationsprobleme mit dem Telefon und allen Linux-Geräten sind es auch nicht wert (weil es nur Git ist).
Ich teile Ihnen die Übersetzung der Pass-Begrüßungsseite mit.
Die Passwortverwaltung sollte einfach sein und der Unix- Philosophie folgen . Mit pass wird jedes Ihrer Passwörter in einer verschlüsselten gpg-Datei gespeichert, deren Name mit dem Namen der Ressource oder Website übereinstimmt, mit der das angegebene Passwort verknüpft ist. Diese verschlüsselten Dateien können in praktischen Ordnerhierarchien organisiert, von Medium zu Medium kopiert und im Allgemeinen mit einem beliebigen Dienstprogramm zur Verwaltung von Befehlszeilendateien verarbeitet werden.
Mit pass ist die Verwaltung einzelner Passwortdateien extrem einfach. Alle Passwörter werden im ~ / .password-store gespeichert, und pass bietet verschiedene praktische Befehle zum Hinzufügen, Bearbeiten, Generieren und Abrufen von Passwörtern. Dies ist ein sehr kurzes und einfaches Shell-Skript. Es ist in der Lage, Passwörter vorübergehend in die Zwischenablage zu schreiben und Passwortänderungen mit git zu verfolgen.
Sie können den Kennwortspeicher mit Standard-Unix-Shell-Befehlen in Verbindung mit den Pass-Befehlen bearbeiten. Es gibt keine ausgefallenen Dateiformate oder neuen Paradigmen zu lernen. Die Bash-Vervollständigung ist vorhanden. Sie können also einfach die Tabulatortaste drücken, um schnell einen Namen oder Befehl sowie Hinweise für zsh und fish einzugeben, die im Ordner / finish verfügbar sind . Die sehr aktive Community von Passbenutzern hat viele ungewöhnliche Clients und GUIs für verschiedene Plattformen sowie Erweiterungen für Pass selbst erstellt.
Der Teampass wird im Handbuch auf der Seite ausführlich beschrieben .
Wie die Passwortspeicherung verwendet wird
Wir können alle vorhandenen Passwörter im Store auflisten:
zx2c4@laptop ~ $ pass Password Store ├── Business │ ├── some-silly-business-site.com │ └── another-business-site.net ├── Email │ ├── donenfeld.com │ └── zx2c4.com └── France ├── bank ├── freebox └── mobilephone
Wir können auch Passwörter anzeigen:
zx2c4@laptop ~ $ pass Email/zx2c4.com sup3rh4x3rizmynam3
Oder kopieren Sie sie in die Zwischenablage:
zx2c4@laptop ~ $ pass -c Email/zx2c4.com Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.
Ein praktischer Dialog zur Eingabe eines Kennworts wird mit einem Standard-GPG-Agenten angezeigt (der so konfiguriert werden kann, dass eine Sitzung mehrere Minuten lang aufrechterhalten wird), da alle Kennwörter verschlüsselt sind.
Wir können dem Geschäft vorhandene Passwörter hinzufügen, indem wir einfügen:
zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory Enter password for Business/cheese-whiz-factory: omg so much cheese what am i gonna do
Diese Funktion funktioniert auch mit mehrzeiligen Passwörtern oder anderen Daten mit --multiline oder -m, und Passwörter können im Standardtexteditor mit pass edit pass-name bearbeitet werden.
Das Dienstprogramm kann mit / dev / urandom neue Kennwörter generieren:
zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15 The generated password to Email/jasondonenfeld.com is: $(-QF&Q=IN2nFBx
Es ist möglich, Kennwörter ohne Symbole mit --no-symbolen oder -n zu generieren und in die Zwischenablage zu kopieren, anstatt sie mit --clip oder -c in der Konsole anzuzeigen.
Sie können natürlich Passwörter entfernen:
zx2c4@laptop ~ $ pass rm Business/cheese-whiz-factory rm: remove regular file ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’? y removed ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’
Wenn das Kennwort-Repository ein Git-Repository ist, können Sie das Kennwort-Repository mit Pass-Git-Push und Pass-Git-Pull synchronisieren, die Git-Push oder Git-Pull für das Repository aufrufen, da bei jeder Manipulation ein Git-Commit erstellt wird.
Weitere Beispiele und Funktionen finden Sie hier .
Anpassung
Zunächst gibt es einen Befehl zum Initialisieren des Passwortspeichers:
zx2c4@laptop ~ $ pass init "ZX2C4 Password Storage Key" mkdir: created directory ‘/home/zx2c4/.password-store’ Password store initialized for ZX2C4 Password Storage Key.
Hier ist der ZX2C4-Passwortspeicherschlüssel die ID des GPG-Schlüssels. Sie können Ihren Standard-GPG-Schlüssel verwenden, oder Sie können einen alternativen Schlüssel speziell für die Kennwortspeicherung verwenden, wie oben gezeigt. Es können mehrere GPG-Schlüssel angegeben werden, um die Übergabe in einer Gruppe zu verwenden, und verschiedene Ordner können unterschiedliche GPG-Schlüssel mit -p haben.
Optional können wir den Passwortspeicher als Git-Repository initialisieren:
zx2c4@laptop ~ $ pass git init Initialized empty Git repository in /home/zx2c4/.password-store/.git/ zx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store
Wenn ein Git-Repository initialisiert wird, erstellt pass bei jeder Manipulation des Kennwortspeichers ein Commit in diesem Git-Repository.
Auf der Manpage finden Sie ein detaillierteres Beispiel für die Initialisierung.
Pass herunterladen
Die aktuelle Version ist 1.7.3.
Ubuntu / Debian
$ sudo apt-get install pass
Fedora / RHEL
$ sudo yum install pass
openSUSE
$ sudo zypper in password-store
Gentoo
# emerge -av pass
Arch
$ pacman -S pass
Macintosh
Der Passwort-Tresor ist über den Homebrew- Paket-Manager verfügbar :
$ brew install pass
FreeBSD
# portmaster -d sysutils/password-store
Tarball
Das Archiv enthält ein allgemeines Makefile, für das ein einfacher Befehl sudo make install ausreicht.
Git-Repository
Sie können das Git-Repository durchsuchen oder das Repository klonen:
$ git clone https://git.zx2c4.com/password-store
Alle Releases sind mit 0xA5DE03AE gekennzeichnet und gekennzeichnet.
Datenorganisation
Benutzernamen, Passwörter, PINs, Websites, Metadaten usw.
Der Kennwortspeicher erfordert kein bestimmtes Schema oder keinen bestimmten Organisationstyp für Ihre Daten, da es sich lediglich um eine Textdatei handelt, die beliebige Daten enthalten kann. Obwohl der häufigste Fall darin besteht, ein Kennwort für jeden Eintrag zu speichern, entscheiden einige Hauptbenutzer, dass sie nicht nur ihr eigenes Kennwort, sondern auch die Antworten auf Sicherheitsfragen, Website-URLs und andere vertrauliche Informationen im Kennwortspeicher speichern möchten oder Metadaten. ... Da für den Kennwort-Tresor kein eigenes Schema erforderlich ist, können Sie Ihre Organisation auswählen. Es gibt viele gültige Strukturen.
Ein Ansatz besteht darin, die mehrzeiligen Durchlauffunktionen (--multiline oder -m in insert) zu verwenden und das Kennwort selbst in der ersten Zeile der Datei mit zusätzlichen Informationen in den nachfolgenden Zeilen zu speichern. Zum Beispiel könnte Amazon / bookreader folgendermaßen aussehen:
Yw|ZSNH!}z"6{ym9pI URL: *.amazon.com/* Username: AmazonianChicken@example.com Secret Question 1: What is your childhood best friend's most bizarre superhero fantasy? Oh god, Amazon, it's too awful to say... Phone Support PIN #: 84719
Dies ist das bevorzugte Organigramm, das vom Autor verwendet wird.
Die Optionen --clip / -c kopieren nur die erste Zeile einer solchen Datei in die Zwischenablage, wodurch das Abrufen des Kennworts für Anmeldeformulare erleichtert wird, während zusätzliche Informationen in derselben Datei gespeichert werden.
Ein anderer Ansatz besteht darin, Ordner zu verwenden und jedes Datenelement in einer Datei in diesem Ordner zu speichern. Beispielsweise enthält Amazon / bookreader / password das Kennwort des Lesers im Verzeichnis Amazon / bookreader, und Amazon / bookreader / secretquestion1 enthält die geheime Frage, Amazon / bookreader / sensitivecode enthält etwas anderes, das sich auf das Konto des Lesers bezieht, und so weiter . Sie können Ihr Passwort auch in Amazon / bookreader und zusätzliche Daten in Amazon / bookreader.meta speichern. Ein anderer Ansatz könnte darin bestehen, wie oben beschrieben mehrzeilig zu verwenden, aber das URL-Muster in den Dateinamen und nicht in die Datei einzufügen.
Alles in allem - die Möglichkeiten hier sind äußerst zahlreich und es gibt viele andere Organigramme, die oben nicht erwähnt wurden. Sie können frei wählen, was am besten zu Ihrem Workflow passt.
Erweiterungen überspringen
Pass unterstützt Erweiterungen, um Benutzern die Implementierung einer Vielzahl von Anwendungsfällen zu erleichtern. In / usr / lib / password-store / extensions installierte Erweiterungen (oder deren verteilungsabhängige Varianten) sind immer enthalten. Und die Erweiterungen, die in ~ / .password-store / .extensions / COMMAND.bash installiert sind, sind aktiviert, wenn die Umgebungsvariable PASSWORD_STORE_ENABLE_EXTENSIONS true ist. Weitere Informationen finden. Auf der Seite Anleitung .
Die Community hat viele dieser Erweiterungen erstellt:
- Pass-Tomb : Verwalten der Kennwortspeicherung in TOMB
- Pass-Update : Ein einfacher Vorgang zum Aktualisieren von Passwörtern
- Pass-Import : Ein vielseitiges Tool zum Importieren aus anderen Passwort-Managern
- pass-extension-tail : Eine Möglichkeit, nur das Ende einer Datei zu drucken
- pass-extension-wclip : Ein Plugin zur Verwendung von wclip unter Windows
- pass-otp : Unterstützung für OTP-Token (Einmalkennwort)
Kompatible Clients
Die Pass-Community hat eine beeindruckende Liste von Kunden und GUIs für verschiedene Plattformen zusammengestellt:
- passmenu : äußerst nützliches und wunderbares Dmenuskript
- qtpass : Ein plattformübergreifender GUI-Client
- Android-Password-Store : Android App
- passforios: iOS
- pass-ios: () iOS
- passff: Firefox
- browserpass: Chrome
- Pass4Win: Windows
- pext_module_pass: Pext
- gopass: Go
- upass:
- alfred-pass:
- pass-alfred:
- pass.applescript: OS X
- pass-git-helper: git
- password-store.el: emacs
- XMonad.Prompt.Pass: Xmonad
pass
Um Kennwortdaten aus den Klauen anderer (aufgeblähter) Kennwortmanager zu befreien, haben verschiedene Benutzer unterschiedliche Kennwortspeicherorganisationen entwickelt, die für sie am besten geeignet sind. Einige Benutzer haben Skripts bereitgestellt, um den Import von Kennwörtern aus anderen Programmen zu erleichtern:
- 1password2pass.rb : Importiert 1Password txt- oder 1pif-Daten
- keepassx2pass.py : Importiert KeepassX- XML-Daten
- keepass2csv2pass.py : Importiert Keepass2-CSV-Daten
- keepass2pass.py : Importiert Keepass2- XML-Daten
- fpm2pass.pl : Importiert die XML-Daten des Figaro-Passwort-Managers.
- lastpass2pass.rb : Importiert Lastpass-CSV-Daten
- kedpm2pass.py : Importiert Ked Password Manager-Daten
- revelation2pass.py: Revelation Password Manager
- gorilla2pass.rb: Password Gorilla
- pwsafe2pass.sh: PWSafe
- kwallet2pass.py: KWallet
- roboform2pass.rb: Roboform
- password-exporter2pass.py:
- pwsafe2pass.py: pwsafe
- firefox_decryptgithub.com/Unode/firefox_decrypt/#readme: Firefox,
Der Pass wurde von Jason A. Donenfeld von zx2c4.com geschrieben und ist unter der GPLv2 + lizenziert .
Beitragen
Dies ist ein sehr aktives Projekt mit einer beträchtlichen Anzahl von Teilnehmern . Der beste Weg, um zum Passwort-Repository beizutragen, besteht darin, sich der Mailingliste anzuschließen und Patches im Git-Format einzureichen. Sie können auch an der # pass-Diskussion über Freenode teilnehmen.
Auf unseren Servern können alle Informationen gespeichert werden.
Registrieren Sie sich über den obigen Link oder indem Sie auf das Banner klicken und erhalten Sie 10% Rabatt für den ersten Monat der Anmietung eines Servers einer beliebigen Konfiguration!