Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Immutable Page
  • Info
  • Attachments


Guida verificata con Ubuntu: 22.04 24.04 26.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

pass è il gestore di password standard tramite riga di comando per sistemi Unix-like. Segue la filosofia Unix memorizzando ogni password all'interno di strumenti standard per la crittografia del sistema operativo come GPG e opzionalmente, Git per il controllo di versione e la sincronizzazione tra dispositivi diversi. Questi file sono organizzati in una gerarchia di cartelle all'interno del sistema.

In alternativa è disponibile l'interfaccia grafica QtPass.

Installazione

Installare i pacchetti pass e gnupg2.

Per la sincronizzazione del database delle password in un server o servizio web, installare Git.

Configurazione

Prima di iniziare l'utilizzo di pass è necessario:

  1. Generare una coppia di chiavi GPG (pubblica e privata).

    • Si consiglia di selezionare l'algoritmo (1) RSA e RSA (opzione predefinita) e una lunghezza di almeno 3072 bit.

  2. Identificare l'ID (la stringa alfanumerica di 8 o 16 caratteri) della chiave GPG.

    • È fondamentale conservare in sicurezza la passphrase della chiave GPG, poiché lo smarrimento comporterebbe l'impossibilità di accedere alle password.

  3. Inizializzare il deposito digitando nel terminale il seguente comando:

     pass init «id_della_chiave»

    Sostituire «id_della_chiave» con la chiave trovata al punto precedente. Oppure, sostituire l'ID_della_chiave GPG con l'indirizzo e-mail associata. Questa operazione crea una directory nascosta nella Home utente, denominata ~/.password-store.

Utilizzo

Per una consultazione completa di tutte le opzioni per pass, digitare nel terminale il comando:

man pass

In alternativa l'output del comando è disponibile al seguente link.

Inserimento di una password

Il comando insert viene utilizzato per memorizzare una password già esistente.
Per aggiungere una nuova password manualmente:

  1. Digitare nel terminale il seguente comando:

     pass insert «nome_servizio»

    Sostituire «nome_servizio» con il servizio a cui associare la password (es. email/gmail o social/github).

    • Utilizzando l'opzione -m, è possibile inserire più righe di testo (ad esempio per includere nomi utente, domande di sicurezza o note). L'immissione termina premendo Ctrl + D.

  2. Quando richiesto immettere per due volte la password. Verrà creato automaticamente ad esempio il file ~/.password-store/email/gmail.gpg.

    • Verificare che l'estensione dei file nella cartella sia effettivamente .gpg.

Generazione password automatica

Il comando generate permette di creare una nuova password sicura in modo casuale specificandone la lunghezza, digitando nel terminale il seguente comando:

pass generate «nome_servizio» <lunghezza>

Sostituire «nome_servizio» con il servizio a cui associare la password (es. email/gmail o social/github).
Sostituire <lunghezza> con la lunghezza della password.

L'opzione -n, genera una password composta solo da caratteri alfanumerici.

Visualizzazione password

  • Per elencare la gerarchia di tutte le password memorizzate, digitare nel terminale il seguente comando:

     pass
  • Per visualizzare una specifica password:

     pass «nome_servizio»
    Inserire la passphrase GPG quando richiesto.

Copia di una sola password

Per copiare la password senza mostrarla a video, digitare nel terminale il seguente comando:

pass -c «nome_servizio»

La cancellazione dagli appunti avviene automaticamente dopo 45 secondi.

Rimozione di una password

Per eliminare una password o una cartella, digitando nel terminale il seguente comando:

pass rm «nome_servizio»

Backup

L'archiviazione della sola cartella ~/.password-store non è sufficiente per garantire il recupero dei dati. In caso di reinstallazione del sistema o guasto hardware, senza la chiave GPG privata i file rimarranno permanentemente illeggibili.

È indispensabile esportare la propria chiave privata e conservarla in un luogo sicuro (preferibilmente offline e cifrata).

Backup della chiave GPG privata

Esportare la propria chiave privata e quella pubblica per conservarle in un luogo sicuro.

Certificato di revoca

Si raccomanda la creazione e la conservazione di un certificato di revoca, utile nel caso in cui la chiave originale venga smarrita o compromessa.

Consultare questa pagina.

Backup del database

Una volta messe in sicurezza le chiavi GPG, è possibile procedere al backup della cartella ~/.password-store contenente le password, digitando nel terminale il seguente comando:

tar -czvf backup_passwords.tar.gz ~/.password-store

Ripristino

Ripristino su un nuovo sistema

Per ripristinare il funzionamento di pass su un nuovo sistema, occorre seguire questo ordine:

  1. Importare le chiavi, digitando nel terminale il seguente comando:

    • chiave pubblica:

        gpg --import chiave_pubblica.asc
    • chiave privata:

        gpg --import chiave_privata.asc
  2. Ripristinare la cartella ~/.password-store nella propria Home.

Integrazione con Git

Il comando pass git funge da interfaccia per Git.
È possibile utilizzare qualsiasi comando git (anche se non elencato nell'aiuto di pass) per permette di tenere traccia delle modifiche e di sincronizzare il deposito su server remoti se il password store dovesse essere condiviso tra più dispositivi.

Inizializzazione di Git

Per attivare le funzionalità di controllo di versione e collegare un repository remoto, digitare nel terminale il seguente comando:

 pass git init

Ogni operazione successiva (aggiunta o modifica di password) genera automaticamente un commit locale.

Sincronizzazione remota

  1. Configurare le chiavi SSH per l'accesso al server.

  2. Impostare la destinazione remota (es. GitLab, GitHub o server privato), digitando nel terminale i seguenti comandi:

     pass git remote add origin <url_repository_remoto>
     pass git push -u --all
  3. Per aggiornare il database locale, per scaricare gli aggiornamenti da altri dispositivi, digitando nel terminale il seguente comando:

     pass git pull

Risoluzioni problemi

Strumenti idonei negli appunti

Il comando pass -c restituisce un errore relativo alla mancanza di un gestore per gli appunti.

Installare lo strumento idoneo in base alla sessione in uso:

Mancata richiesta della passphrase GPG

Qualora il sistema non mostrasse la richiesta della password per decifrare i file, potrebbe essere necessario configurare correttamente il terminale per l'agente GPG. Aggiungere la seguente riga al proprio file di configurazione della shell (es. ~/.bashrc o ~/.zshrc):

export GPG_TTY=$(tty)

Incapable of signing with [...]

Questo errore si verifica se la chiave GPG specificata durante l'inizializzazione è scaduta o non è configurata per la crittografia. È possibile verificare lo stato della chiave consultando la seguente pagina.

Conflitti con Git

Poiché le password sono memorizzate in file binari cifrati (.gpg), Git non è in grado di eseguire un "merge" automatico in caso di modifiche simultanee su diversi dispositivi. In presenza di conflitti, è necessario risolverli manualmente scegliendo quale versione del file mantenere tra quelle in conflitto.

Ulteriori risorse


CategorySicurezza