Saya telah mencari penyimpanan kata sandi yang berfungsi untuk saya selama bertahun-tahun dan baru-baru ini menemukan Pass on HackerNews. Gagasan menyimpan kata sandi di repositori git mungkin terdengar aneh, tetapi secara keseluruhan itu bukan ide yang buruk karena:
- Saya menyimpan repositori git secara lokal di komputer saya
- Semua kata sandi dilindungi oleh enkripsi GPG, jadi meskipun saya mendapatkan akses SSH ke komputer saya, kebocoran tidak akan memengaruhi keamanan
Saya menggunakan -c untuk menyalin / menempel kata sandi. Ada ekstensi untuk browser, tetapi salin-tempel lebih nyaman bagi saya pribadi. Masalah sinkronisasi dengan telepon dan semua perangkat linux juga tidak sepadan (karena hanya git).
Saya berbagi dengan Anda terjemahan halaman selamat datang Lulus.
Manajemen kata sandi harus sederhana dan mengikuti filosofi Unix . Dengan menggunakan pass, setiap kata sandi Anda disimpan di dalam file gpg terenkripsi, yang namanya sama dengan nama sumber daya atau situs web yang ditautkan dengan kata sandi yang diberikan. File terenkripsi ini dapat diatur ke dalam hierarki folder yang nyaman, disalin dari media ke media, dan umumnya diproses menggunakan utilitas manajemen file baris perintah apa pun.
Dengan pass, mengelola file kata sandi individu sangatlah mudah. Semua kata sandi disimpan di ~ / .password-store, dan pass menyediakan beberapa perintah praktis untuk menambahkan, mengedit, membuat, dan mengambil kata sandi. Ini adalah skrip Shell yang sangat pendek dan sederhana. Itu mampu untuk sementara menempatkan kata sandi di clipboard dan melacak perubahan kata sandi menggunakan git.
Anda dapat mengedit penyimpanan kata sandi menggunakan perintah shell unix standar bersama dengan perintah pass. Tidak ada format file mewah atau paradigma baru untuk dipelajari. Penyelesaian Bash ada, jadi Anda cukup menekan Tab untuk mengisi nama atau perintah dengan cepat, serta petunjuk untuk zsh dan ikan, tersedia di folder / penyelesaian . Komunitas pengguna pass yang sangat aktif telah menciptakan banyak klien dan GUI yang tidak biasa untuk berbagai platform, serta ekstensi untuk pass itu sendiri.
Lulus tim dijelaskan secara rinci di halaman manual .
Bagaimana penyimpanan kata sandi digunakan
Kami dapat mencantumkan semua kata sandi yang ada di toko:
zx2c4@laptop ~ $ pass Password Store βββ Business β βββ some-silly-business-site.com β βββ another-business-site.net βββ Email β βββ donenfeld.com β βββ zx2c4.com βββ France βββ bank βββ freebox βββ mobilephone
Kami juga dapat menampilkan kata sandi:
zx2c4@laptop ~ $ pass Email/zx2c4.com sup3rh4x3rizmynam3
Atau salin ke clipboard:
zx2c4@laptop ~ $ pass -c Email/zx2c4.com Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.
Dialog praktis untuk memasukkan kata sandi akan muncul menggunakan agen gpg standar (yang dapat dikonfigurasi untuk mempertahankan sesi selama beberapa menit), karena semua kata sandi dienkripsi.
Kami dapat menambahkan kata sandi yang ada ke toko menggunakan sisipan:
zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory Enter password for Business/cheese-whiz-factory: omg so much cheese what am i gonna do
Fungsi ini juga berfungsi dengan kata sandi multiline atau data lain menggunakan --multiline atau -m, dan kata sandi dapat diedit di editor teks default menggunakan pass edit nama sandi.
Utilitas dapat menghasilkan kata sandi baru menggunakan / dev / urandom:
zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15 The generated password to Email/jasondonenfeld.com is: $(-QF&Q=IN2nFBx
Anda dapat membuat kata sandi tanpa simbol menggunakan --no-symbol atau -n, dan menyalinnya ke clipboard alih-alih menampilkannya di konsol menggunakan --clip atau -c.
Anda tentu saja dapat menghapus kata sandi:
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β
Jika tempat penyimpanan kata sandi adalah tempat penyimpanan git, karena setiap manipulasi membuat komit git, Anda dapat menyinkronkan tempat penyimpanan kata sandi dengan pass git push dan pass git pull, yang memanggil git-push atau git-pull di repositori.
Anda dapat membaca lebih banyak contoh dan fungsi di sini .
Kustomisasi
Untuk memulainya, ada satu perintah untuk menginisialisasi penyimpanan kata sandi:
zx2c4@laptop ~ $ pass init "ZX2C4 Password Storage Key" mkdir: created directory β/home/zx2c4/.password-storeβ Password store initialized for ZX2C4 Password Storage Key.
Di sini ZX2C4 Password Storage Key adalah ID dari kunci GPG. Anda dapat menggunakan kunci GPG standar Anda, atau Anda dapat menggunakan kunci alternatif khusus untuk penyimpanan sandi, seperti yang ditunjukkan di atas. Beberapa kunci GPG dapat ditentukan untuk menggunakan pass dalam grup, dan folder yang berbeda dapat memiliki kunci GPG yang berbeda dengan -p.
Secara opsional, kita dapat menginisialisasi penyimpanan kata sandi sebagai repositori git:
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
Jika repositori git diinisialisasi, pass membuat komit di dalam repositori git itu setiap kali penyimpanan kata sandi dimanipulasi.
Ada contoh inisialisasi yang lebih rinci di halaman manual .
Download pass
Versi saat ini adalah 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
Lemari sandi tersedia melalui Homebrew Package Manager :
$ brew install pass
FreeBSD
# portmaster -d sysutils/password-store
Tarball
Arsip tersebut berisi makefile umum, yang cukup dengan perintah sudo make install.
Repositori Git
Anda dapat menjelajahi repositori git atau menggandakan repositori:
$ git clone https://git.zx2c4.com/password-store
Semua rilis diberi tag dan diberi tag dengan 0xA5DE03AE.
Organisasi data
Nama pengguna, kata sandi, PIN, situs web, metadata, dan sebagainya
Penyimpanan kata sandi tidak memerlukan skema atau jenis organisasi tertentu untuk data Anda, karena ini hanya file teks yang dapat berisi data sewenang-wenang. Meskipun kasus yang paling umum adalah menyimpan satu kata sandi untuk setiap entri, beberapa pengguna ahli memutuskan bahwa mereka ingin menyimpan di kata sandi tidak hanya menyimpan kata sandi mereka sendiri, tetapi juga menyimpan jawaban atas pertanyaan keamanan, URL situs web, dan informasi sensitif lainnya. atau metadata. ... Karena brankas kata sandi tidak memerlukan skemanya sendiri, Anda dapat memilih organisasi Anda. Ada banyak struktur yang valid.
Salah satu pendekatannya adalah dengan menggunakan multiline pass functions (--multiline or -m in insert) dan menyimpan sandi itu sendiri di baris pertama file, dengan informasi tambahan di baris berikutnya. Misalnya, Amazon / bookreader mungkin terlihat seperti ini:
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
Ini adalah bagan organisasi pilihan yang digunakan oleh penulis.
Opsi --clip / -c hanya menyalin baris pertama dari file tersebut ke clipboard, sehingga memudahkan untuk mengambil kata sandi untuk formulir login sambil menyimpan informasi tambahan di file yang sama.
Pendekatan lain adalah dengan menggunakan folder dan menyimpan setiap bagian data di dalam file di folder itu. Misalnya, Amazon / bookreader / password akan berisi kata sandi pembaca di dalam direktori Amazon / bookreader, dan Amazon / bookreader / secretquestion1 akan berisi pertanyaan rahasia, Amazon / bookreader / sensitivecode akan berisi hal lain yang terkait dengan akun pembaca, dan seterusnya. . Anda juga dapat menyimpan kata sandi Anda ke Amazon / bookreader, dan data tambahan ke Amazon / bookreader.meta. Dan pendekatan lain mungkin menggunakan multiline seperti yang dijelaskan di atas, tetapi letakkan pola URL di nama file, bukan di dalam file.
Secara keseluruhan - kemungkinan di sini sangat banyak dan ada banyak bagan organisasi lain yang tidak disebutkan di atas; Anda memiliki kebebasan untuk memilih yang paling sesuai dengan alur kerja Anda.
Lewati ekstensi
Untuk memudahkan pengguna menerapkan berbagai kasus penggunaan, berikan ekstensi dukungan. Ekstensi yang dipasang di / usr / lib / password-store / extensions (atau ragam yang bergantung pada distribusinya) selalu disertakan. Dan ekstensi yang dipasang di ~ / .password-store / .extensions / COMMAND.bash diaktifkan jika variabel lingkungan PASSWORD_STORE_ENABLE_EXTENSIONS benar. Untuk informasi lebih lanjut, lihat Di panduan halaman .
Komunitas telah membuat banyak ekstensi berikut:
- pass-tomb : mengelola penyimpanan kata sandi di TOMB
- pass-update : proses sederhana untuk memperbarui kata sandi
- pass-import : alat serbaguna untuk mengimpor dari pengelola kata sandi lainnya
- pass-extension-tail : cara untuk mencetak hanya bagian belakang file
- pass-extension-wclip : plugin untuk menggunakan wclip di Windows
- pass-otp : dukungan untuk token kata sandi satu kali (OTP)
Klien yang kompatibel
Komunitas pass telah menyusun daftar klien dan GUI yang mengesankan untuk berbagai platform:
- passmenu : skrip dmenu yang sangat berguna dan luar biasa
- qtpass : klien GUI lintas platform
- Android-Password-Store : Aplikasi Android
- 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
Untuk membebaskan data kata sandi dari cengkeraman pengelola kata sandi (membengkak) lainnya, pengguna yang berbeda telah menghasilkan organisasi penyimpanan kata sandi berbeda yang paling cocok untuk mereka. Beberapa pengguna telah menyediakan skrip untuk membantu mengimpor sandi dari program lain:
- 1password2pass.rb : Mengimpor data 1Password txt atau 1pif
- keepassx2pass.py : Mengimpor data XML KeepassX
- keepass2csv2pass.py : Mengimpor data CSV Keepass2
- keepass2pass.py : Mengimpor data XML Keepass2
- fpm2pass.pl : Mengimpor data XML dari pengelola kata sandi Figaro.
- lastpass2pass.rb : Mengimpor data CSV Lastpass
- kedpm2pass.py : Mengimpor data Ked Password Manager
- 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,
pass ditulis oleh Jason A. Donenfeld dari zx2c4.com dan dilisensikan di bawah GPLv2 +.
Untuk berkontribusi
Ini adalah proyek yang sangat aktif dengan jumlah peserta yang signifikan . Cara terbaik untuk berkontribusi pada penyimpanan kata sandi adalah bergabung dengan milis dan mengirimkan tambalan dalam format git. Anda juga dapat bergabung dengan diskusi #pass di Freenode.
Server kami dapat digunakan untuk menyimpan informasi apa pun.
Daftar menggunakan tautan di atas atau dengan mengklik spanduk dan dapatkan diskon 10% untuk bulan pertama menyewa server dengan konfigurasi apa pun!