GNU/Linux >> Belajar Linux >  >> Linux

Cara mengelola kata sandi Linux dengan perintah pass

Manajemen kata sandi telah menjadi topik hangat dalam dekade terakhir. Pencarian Google cepat mengungkap berbagai opsi untuk memilih alat yang akan melindungi string yang membuka kunci informasi pribadi Anda. Beberapa dari aplikasi ini hanya berjalan di komputer Anda dan menyimpan kata sandi Anda secara offline dalam format terenkripsi.
Yang lain lebih kaya fitur, menawarkan sinkronisasi online dengan beberapa perangkat, berbagi kata sandi, otentikasi dua faktor (2FA), dan banyak lagi . Dengan beberapa layanan ini, kesederhanaan manajemen kata sandi telah hilang di antara lautan fitur yang ditawarkan. Tidak hanya itu, tetapi melalui kenyamanan brankas online yang ditawarkan oleh banyak layanan ini, Anda kehilangan kendali atas data Anda karena kredensial Anda disinkronkan dengan server di luar kendali Anda.

Ada alternatif yang tersedia yang memberikan kesederhanaan dan memberi Anda kendali penuh atas kredensial Anda. Ini dapat memberikan banyak fitur yang sama yang akan Anda dapatkan dari layanan berbayar, dengan tetap mempertahankan kesederhanaannya. Ini adalah open source dan ditulis oleh penulis yang sama yang membuat Wireguard, yang menerima pujian tinggi dari Linus Torvalds sebelum dilacak cepat ke kernel Linux. Alternatif ini disebut pass yang juga dikenal sebagai penyimpanan kata sandi.

[ Anda mungkin juga menikmati: Mengelola pengguna Linux dengan perintah passwd ]

Manajemen kata sandi harus sederhana dan mengikuti filosofi Unix. Dengan pass , setiap kata sandi berada di dalam file terenkripsi gpg yang nama filenya adalah judul situs web atau sumber daya yang memerlukan kata sandi. File terenkripsi ini dapat diatur ke dalam hierarki folder yang berarti, disalin dari komputer ke komputer, dan, secara umum, dimanipulasi menggunakan utilitas manajemen file baris perintah standar. --Pass:Pengelola Kata Sandi Unix Standar

Mengapa menggunakan penyimpanan sandi?

  • Ini adalah sumber terbuka
  • Mudah digunakan
  • Ini didokumentasikan dengan baik
  • Ini berbasis CLI, tetapi ada ekstensi GUI yang tersedia
  • Ini dienkripsi dengan GnuPG ke tingkat yang Anda pilih
  • Ini sepenuhnya di bawah kendali Anda. Sandi tidak disinkronkan ke server pihak ketiga
  • Penyimpanan sandi Anda hanya dapat disimpan di sistem Anda, atau Anda dapat menyinkronkannya dengan repo Git pribadi pilihan Anda (sangat disarankan)

Pemasangan

1. Instal pass :

$ sudo dnf install pass 

2. Jika Anda belum memiliki pasangan kunci GPG, Anda harus membuatnya:

$ gpg2 --full-generate-key

Pilih opsi 1 (RSA dan RSA) untuk jenis kunci.

Please select what kind of key you want:

   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)

Your selection? 1

Pilih ukuran kunci yang Anda inginkan. Dalam contoh ini, pilih 4096:

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits

Please specify how long the key should be valid.

        0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years

Sekarang pilih berapa lama Anda ingin kunci tersebut valid, dalam contoh ini pilih dua tahun:

Key is valid for? (0) 2y
Key expires at Sat 18 Mar 2023 15:03:38 CET
Is this correct? (y/N) y

Masukkan nama lengkap, alamat email, lalu konfirmasi dengan 'O ' saat diminta.

GnuPG needs to construct a user ID to identify your key.

Real name: John Doe
Email address: [email protected]
Comment: 
You selected this USER-ID:
    "John Doe <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Salah satu langkah terakhir dari proses pembuatan GPG adalah mengatur kata sandi Anda. Pastikan untuk menggunakan sandi yang kuat yang berisi huruf besar, huruf kecil, dan simbol. Ini akan menjadi sandi utama Anda untuk membuka kunci pass penyimpanan data.

3. Sekarang setelah kunci GPG Anda dibuat, Anda harus membuat daftar kunci Anda dan mencatat ID kunci rahasia (dtk):

$ gpg2 --list-secret-keys --keyid-format LONG

sec   4096R/AAAA2222CCCC4444 2021-03-18 [expires: 2023-03-18] uid         John Doe <[email protected]>

4. Dengan ID kunci GPG Anda, sekarang Anda dapat memulai pass penyimpanan data:

$ pass init 'AAAA2222CCCC4444'

mkdir: created directory ‘/home/myhome/.password-store’ Password store initialized for AAAA2222CCCC4444.

5. Sekarang Anda dapat membuat dan mengambil kata sandi dari penyimpanan kata sandi terenkripsi RSA4096. Untuk membuat kata sandi baru (-c salinan ke papan klip setelah dibuat dan 21 menentukan sandi dengan panjang 21 karakter):

$ pass generate -c Internet/github.com 21

Ambil kata sandi dari toko:

$ pass show Internet/github.com
<enter GPG password at prompt>

Langkah Tambahan

Pemasangan stok pass memberi Anda penyimpanan data lokal yang aman untuk kredensial Anda. Namun, ada beberapa fungsi lain yang menurut saya penting untuk meningkatkan kegunaan.

Sinkronkan dengan repo Git

Untuk tujuan redundansi dan berbagi kredensial Anda di beberapa perangkat, saya sangat menyarankan untuk menyinkronkan pass Anda simpan dengan repositori Git. Kabar baiknya adalah pass sudah memiliki fungsionalitas Git bawaan; yang perlu Anda lakukan adalah membuat repositori jarak jauh dan menginisialisasinya di toko pass Anda. Berbekal repositori Git jarak jauh Anda, Anda dapat melanjutkan dan menginisialisasinya untuk pass . Pada contoh di bawah ini, saya menggunakan Github, tetapi ingat, Anda dapat menggunakan penyedia hosting kontrol versi apa pun atau mengaturnya sendiri.

1. Setelah menyiapkan repositori pribadi di server Git jarak jauh, Anda perlu menginisialisasi secara lokal dengan pass git repo dan tambahkan asal jarak jauh:

$ pass git init

Initialized empty Git repository in /home/myhome/.password-store/.git/ [master (root-commit) 998c8fd] Added current contents of password store. 1 file changed, 1 insertion(+)

create mode 100644 .gpg-id

$ pass git remote add origin [email protected]:johndoe/pass-store.git

2. Selama autentikasi ke repositori dikonfigurasi dengan benar, Anda dapat mendorong penyimpanan sandi ke repositori jarak jauh dengan pass git push bawaan perintah:

$ pass git push -u --all
                                                                            
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 12 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 2.68 KiB | 913.00 KiB/s, done.
Total 12 (delta 6), reused 0 (delta 0), pack-reused 0
To [email protected]:johndoe/pass-store.git
  212af8c..d1c11c5  master -> master

Otomatis mengisi formulir login web

Ada ekstensi yang tersedia untuk semua browser utama yang memungkinkan Anda mengisi formulir login secara otomatis dengan kredensial yang tersimpan. Anda perlu menginstal klien asli browserpass dan ekstensi browser. Lihat petunjuk untuk menginstal klien asli. Setelah klien asli dan browserpass ekstensi diinstal, Anda dapat menggunakan pintasan Ctrl-Shift-L untuk secara otomatis mengisi formulir masuk dengan kredensial penyimpanan sandi Anda.

Mengonfigurasi Chrome

1. Instal ekstensi browserpass untuk Chrome/Chromium.

2. Selanjutnya, kompilasi dan instal klien asli browser-pass. Anda mungkin perlu melakukannya secara manual.

3. Kloning browserpass-native repositori ke sistem Anda.

4. Jika Golang sudah terpasang, lewati langkah ini. Jika tidak, instal Golang:

$ sudo dnf install golang

5. cd ke tempat Anda mengkloning repo dan menjalankan make berikut ini perintah:

$ make

$ make configure

$ sudo make install 

6. Masuk ke browserpass direktori program dan kompilasi ekstensi untuk browser spesifik Anda. Untuk Chromium, jalankan:

$ cd /usr/lib/browserpass/

$ make hosts-chromium-user 

Ada contoh cara mengompilasinya untuk browser khusus Anda.

7. Sekarang Anda dapat menggunakan browserpass ekstensi untuk mengisi formulir dari penyimpanan kata sandi Anda.

Aplikasi Seluler

Ada aplikasi Android bernama Android-Password-Store dan satu lagi untuk iOS bernama passforios, keduanya open source dan tersedia di app store masing-masing. Kedua aplikasi mendukung pengisian otomatis formulir dan keduanya memiliki fungsionalitas Git bawaan, sehingga mudah untuk mendorong dan menarik dari repositori pass jarak jauh Anda.

[ Dapatkan ebook gratis ini:Mengelola kluster Kubernetes Anda untuk boneka. ]

Menutup

Dalam artikel ini saya memperkenalkan Anda ke pass , alat manajemen kata sandi sumber terbuka yang menggunakan perangkat lunak enkripsi GNU Privacy Guard (GPG) yang telah dicoba dan benar untuk menjaga kredensial Anda tetap aman. Inti pass perangkat lunak memungkinkan manajemen kata sandi yang sederhana, dengan kemampuan untuk memperluas fungsionalitas melalui ekstensi sumber terbuka lainnya. pass penyimpanan data hanyalah kumpulan file terenkripsi GPG, sehingga kredensial Anda dapat dengan mudah disinkronkan antar perangkat dengan menggunakan alat yang sudah umum di antara Sysadmin; Git. Ini memungkinkan Anda untuk memutuskan di mana kredensial Anda disimpan, apakah itu repositori Git pribadi pada penyedia hosting kontrol versi atau bahkan server pribadi virtual Anda sendiri.

Dengan pass Anda mengambil kendali penuh atas pengelolaan kata sandi Anda, tanpa mengorbankan fungsionalitas dan dengan tetap mempertahankan kesederhanaan.


Linux
  1. Cara Mengelola Kata Sandi Akun di Linux

  2. Mengelola pengguna Linux dengan perintah passwd

  3. Cara Melewati Kata Sandi ke Perintah SCP di Linux

  1. Bagaimana mengelola Layanan Linux dengan perintah systemctl

  2. Cara menggunakan Perintah ssh-keygen di Linux

  3. Cara mengizinkan ssh dengan kata sandi kosong di Linux

  1. Pass – Kelola Kata Sandi Anda dari Baris Perintah Linux

  2. Bagaimana Anda menggunakan ekspresi reguler dengan perintah cp di Linux?

  3. Bagaimana cara memeriksa kata sandi dengan Linux?