GNU/Linux >> Linux Esercitazione >  >> Linux

Come gestire le password Linux con il comando pass

La gestione delle password è diventata un argomento caldo negli ultimi dieci anni. Una rapida ricerca su Google svela varie opzioni per selezionare lo strumento che salvaguarderà le stringhe che sbloccano le tue informazioni personali. Alcune di queste applicazioni vengono eseguite semplicemente sul tuo computer e memorizzano le tue password offline in un formato crittografato.
Altre sono più ricche di funzionalità, offrendo sincronizzazione online con più dispositivi, condivisione delle password, autenticazione a due fattori (2FA) e altro ancora . Con alcuni di questi servizi, la semplicità della gestione delle password è andata persa nell'oceano di funzionalità offerte. Non solo, ma grazie alla comodità dei depositi online offerti da molti di questi servizi, stai perdendo un po' di controllo sui tuoi dati poiché le tue credenziali sono sincronizzate con server al di fuori del tuo controllo.

È disponibile un'alternativa che fornisce semplicità e ti dà il pieno controllo delle tue credenziali. Può fornire molte delle stesse funzionalità che otterrai da un servizio a pagamento, pur mantenendo la sua semplicità. È open source ed è scritto dallo stesso autore che ha creato Wireguard, che ha ricevuto elogi da Linus Torvalds prima che fosse inserito rapidamente nel kernel Linux. Questa alternativa è chiamata pass noto anche come archivio password.

[ Potrebbe interessarti anche: Gestire gli utenti Linux con il comando passwd ]

La gestione delle password dovrebbe essere semplice e seguire la filosofia Unix. Con pass , ogni password risiede all'interno di un file crittografato gpg il cui nome file è il titolo del sito Web o della risorsa che richiede la password. Questi file crittografati possono essere organizzati in gerarchie di cartelle significative, copiati da un computer all'altro e, in generale, manipolati utilizzando le utilità di gestione dei file della riga di comando standard. --Pass:il gestore di password Unix standard

Perché usare l'archivio password?

  • È open source
  • È semplice da usare
  • È ben documentato
  • È basato sulla CLI, ma sono disponibili estensioni della GUI
  • È crittografato con GnuPG a un livello a tua scelta
  • È interamente sotto il tuo controllo. Le password non si sincronizzano con server di terze parti
  • Il tuo archivio password può rimanere solo sul tuo sistema, oppure puoi sincronizzarlo con un repository Git privato a tua scelta (fortemente consigliato)

Installazione

1. Installa pass :

$ sudo dnf install pass 

2. Se non disponi già di una coppia di chiavi GPG, dovrai crearne una:

$ gpg2 --full-generate-key

Selezionare l'opzione 1 (RSA e RSA) per il tipo di chiave.

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

Seleziona la dimensione della chiave desiderata. In questo esempio, scegli 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

Ora scegli per quanto tempo vuoi che la chiave sia valida, in questo esempio scegli due anni:

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

Inserisci il tuo nome completo, indirizzo e-mail e poi conferma con 'O ' quando richiesto.

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

Uno degli ultimi passaggi del processo di creazione di GPG è impostare la password. Assicurati di utilizzare una password complessa contenente maiuscole, minuscole e simboli. Questa sarà la tua password principale per sbloccare il tuo pass archivio dati.

3. Ora che la tua chiave GPG è stata creata, dovrai elencare le tue chiavi e prendere nota dell'ID chiave segreta (sec):

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

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

4. Con il tuo ID chiave GPG puoi ora avviare il tuo pass archivio dati:

$ pass init 'AAAA2222CCCC4444'

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

5. È ora possibile generare e recuperare password dall'archivio password crittografato RSA4096. Per generare una nuova password (-c copia negli appunti dopo la creazione e 21 specifica una password con una lunghezza di 21 caratteri):

$ pass generate -c Internet/github.com 21

Recupera una password dal negozio:

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

Passaggi aggiuntivi

Un'installazione stock di pass ti fornisce un datastore locale sicuro per le tue credenziali. Ci sono, tuttavia, un paio di altre funzioni che ritengo importanti per migliorare l'usabilità.

Sincronizza con un repository Git

Ai fini della ridondanza e della condivisione delle credenziali su più dispositivi, consiglio vivamente di sincronizzare il tuo pass archiviare con un repository Git. La buona notizia è che pass ha già la funzionalità Git integrata; tutto ciò che devi fare è creare un repository remoto e inizializzarlo nel tuo pass store. Armato del tuo repository Git remoto, puoi procedere e inizializzarlo per pass . Nell'esempio seguente, utilizzo Github, ma ricorda che puoi utilizzare qualsiasi provider di hosting per il controllo della versione o configurarne uno tuo.

1. Dopo aver impostato un repository privato sul tuo server Git remoto, dovrai inizializzarlo localmente con pass repo git e aggiungi l'origine remota:

$ 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. Se la tua autenticazione al repository è configurata correttamente, puoi inviare il tuo pass store al repository remoto con il pass git push integrato comando:

$ 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

Compila automaticamente i moduli di accesso web

Sono disponibili estensioni per tutti i principali browser che consentono di compilare automaticamente i moduli di accesso con le credenziali memorizzate. Sarà necessario installare il client nativo browserpass e l'estensione del browser. Consulta le istruzioni per l'installazione del client nativo. Una volta sia il client nativo che browserpass sono installate, puoi usare la scorciatoia Ctrl-Shift-L per popolare automaticamente i moduli di accesso con le credenziali del tuo pass store.

Configurazione di Chrome

1. Installa l'estensione browserpass per Chrome/Chromium.

2. Quindi, compilare e installare il client nativo browser-pass. Probabilmente dovrai farlo manualmente.

3. Clona il browserpass-native repository nel tuo sistema.

4. Se Golang è già installato, salta questo passaggio. Altrimenti, installa Golang:

$ sudo dnf install golang

5. cd dove hai clonato il repository ed eseguito il seguente make comandi:

$ make

$ make configure

$ sudo make install 

6. Vai al browserpass directory del programma e compilare l'estensione per il browser specifico. Per Chromium, esegui:

$ cd /usr/lib/browserpass/

$ make hosts-chromium-user 

Esistono esempi su come compilarlo per il tuo browser specifico.

7. Ora puoi utilizzare il browserpass estensione per compilare i moduli dal tuo archivio password.

App mobili

C'è un'app per Android chiamata Android-Password-Store e un'altra per iOS chiamata passforios, entrambe open source e disponibili nei rispettivi app store. Entrambe le app supportano la compilazione automatica dei moduli ed entrambe hanno funzionalità Git integrate, quindi è facile eseguire il push e il pull dal tuo repository di pass remoti.

[ Ottieni questo ebook gratuito:Gestione dei cluster Kubernetes per i manichini. ]

Concludi

In questo articolo ti ho presentato pass , uno strumento di gestione delle password open source che utilizza il collaudato software di crittografia GNU Privacy Guard (GPG) per proteggere le tue credenziali. Il principale pass il software consente una semplice gestione delle password, con la possibilità di estendere le funzionalità attraverso altre estensioni open source. pass i data-store sono semplicemente una raccolta di file crittografati GPG, quindi le tue credenziali possono essere facilmente sincronizzate tra dispositivi utilizzando uno strumento già comune tra gli amministratori di sistema; Idiota. Ciò ti consente di decidere dove vengono archiviate le tue credenziali, sia che si tratti di un repository Git privato su un provider di hosting per il controllo della versione o anche del tuo server privato virtuale.

Con pass prendi il pieno controllo della gestione della tua password, senza sacrificare la funzionalità e pur mantenendo la semplicità.


Linux
  1. Come gestire la password dell'account in Linux

  2. Gestire gli utenti Linux con il comando passwd

  3. Come passare la password al comando SCP in Linux

  4. Come gestire i servizi Linux con il comando systemctl

  5. Come consentire ssh con password vuote in Linux

Come utilizzare il comando sleep di Linux con esempi

Come utilizzare il comando who in Linux con esempi

Come gestire le tue password con Enpass su Linux

Come passare la password al comando SSH in Linux

Come trovare file con il comando fd in Linux

Come gestire le password dell'account in Linux con il comando passwd