Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Guida verificata con Ubuntu: 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Password e chiavi (o Seahorse) è il portachiavi digitale preinstallato nell'ambiente grafico GNOME, basato sulla crittografia GnuPG.
Grazie alla sua profonda integrazione, protegge e gestisce automaticamente i dati sensibili, eliminando la necessità di digitare a ogni accesso le password delle applicazioni (come client di posta e reti Wi-Fi). Inoltre il software opera in background, offrendo un livello di sicurezza superiore.
Panoramica sulle funzionalità principali
Si raccomanda di effettuare regolarmente un backup di password, chiavi e certificati.
Password e chiavi offre una gestione centralizzata delle credenziali (memorizzazione, visualizzazione, modifica e rimozione), catalogandole in categorie distinte come:
chiavi (OpenSSH e GnuPG);
Nella finestra principale del programma sono elencate le password e le chiavi salvate, organizzate per sezione per una facile consultazione.
Avvio
Avviare Password e chiavi.
Le password e le chiavi sono archiviate in un database criptato a livello locale, protetto da una password principale.
Per proteggere il portachiavi, utilizzare una password forte e unica, non condividerla e abilitare l'autenticazione a due fattori (2FA) ove possibile.
Scaricare i certificati solo da fonti affidabili per evitare di installare certificati fraudolenti.
Verificare che la catena dei certificati sia valida e completa.
Password
Nel menu principale, è possibile espandere le categorie per visualizzare le password salvate.
La categoria Login viene creata automaticamente e memorizza le credenziali delle applicazioni che si avviano con la sessione (es.: posta elettronica o chat).
- Le chiavi sono organizzate in sottocategorie per una gestione più ordinata.
- Un clic destro su un elemento offre opzioni per visualizzarne i dettagli.
Per aggiungere password, consultare il seguente paragrafo.
Per eliminare password, consultare il seguente paragrafo.
Ricerca delle password o chiavi
La ricerca di una password o di una chiave all'interno della schermata principale di Password e chiavi, sono disponibili tre metodi:
Icona di ricerca: Fare clic sull'icona a forma di lente di ingrandimento situata nella barra superiore della finestra. Si aprirà un campo di testo in cui inserire i termini da cercare.
Scorciatoia da tastiera: Premere la combinazione di tasti Ctrl + F. La barra di ricerca si attiverà istantaneamente.
Digitazione diretta: Come avviene in molte applicazioni native di Ubuntu, è sufficiente iniziare a digitare il nome della password o della chiave mentre la finestra principale è attiva. La barra di ricerca apparirà automaticamente popolando il campo con il testo digitato.
Criteri e filtri di ricerca
Cosa viene cercato: Il sistema analizza esclusivamente il campo Descrizione. Non è possibile ricercare il testo contenuto all'interno della password segreta, né il nome utente se questo non è incluso nella descrizione principale.
Ambito della ricerca: La ricerca si adatta alla categoria selezionata nella barra laterale sinistra.
Selezionando "Tutte le password" (o la radice del portachiavi), verranno mostrati risultati provenienti dall'intero database.
Selezionando una categoria specifica (es. "Chiave OpenSSH" o un singolo portachiavi), la ricerca filtrerà unicamente gli elementi contenuti in quella sezione.
Affinché una password emerga tra i risultati, il portachiavi che la contiene deve essere sbloccato.
Se accanto al nome del portachiavi è presente l'icona di un lucchetto chiuso, il sistema non potrà leggerne e cercarne il contenuto.
Sarà necessario cliccarvi sopra e inserire la password di sblocco prima di effettuare la ricerca.
Digitare il termine che si desidera cercare. È possibile digitare:
- il nome dell'applicazione;
- il nome utente;
- qualsiasi altra parola chiave che si ricorda.
Più dettagli vengono forniti nella ricerca, più precisi saranno i risultati: utilizzare asterischi o caratteri jolly per trovare voci che contengono una determinata sequenza di caratteri; cercare per categoria (es: Wi-Fi, E-mail, ecc.); ordinare i risultati della ricerca in base a diversi criteri, come nome, data di modifica o categoria.
Certificati digitali
Un certificato digitale è un file elettronico che associa un'identità (ad esempio, un sito web o una persona) a una chiave pubblica. Questa chiave pubblica può essere utilizzata per verificare l'autenticità di un messaggio o di una firma digitale.
I certificati digitali sono essenziali per l'autenticazione online, la crittografia delle comunicazioni e molte altre operazioni.
Selezionando la scheda Certificati si troveranno tutti i certificati installati sul sistema. Saranno visualizzabili dettagli come l'emittente, il soggetto, la data di validità e l'algoritmo utilizzato.
I certificati SSL/TLS garantiscono la connessione sicura tra il browser e un sito web.
Utilizzo
Aggiungere password e chiavi
Password e chiavi consente l'inserimento manuale di credenziali e la generazione o importazione di chiavi crittografiche.
- Nella barra laterale sinistra, selezionare il portachiavi di destinazione (generalmente denominato "Accesso" o "Login"). Qualora comparisse un'icona a forma di lucchetto chiuso, sarà necessario cliccare sul portachiavi e inserire la password di sistema per sbloccarlo.
Per aggiungere una password o una chiave:
Fare clic sul pulsante «+» situato nell'angolo in alto a sinistra della finestra.
Nel menu a comparsa, selezionare l'opzione Password.
- Verrà mostrata una finestra di dialogo in cui compilare i campi:
Descrizione: Un nome identificativo utile per la ricerca futura (ad esempio "Account FTP" o "Database locale").
Password: La credenziale segreta da proteggere.
Confermare l'operazione cliccando sul pulsante Aggiungi.
L'interfaccia grafica di Seahorse è basilare e non prevede campi separati per Nome utente o URL durante l'inserimento manuale. La password viene semplicemente associata alla descrizione fornita.
Aggiungere una Chiave SSH
Le chiavi SSH vengono utilizzate per l'autenticazione sicura su server remoti, repository (ad esempio su GitHub) o altri servizi di rete.
Fare clic sul pulsante «+» situato nell'angolo in alto a sinistra della finestra.
Selezionare Chiave Secure Shell dall'elenco.
- Inserire una descrizione per identificare l'utilizzo della chiave (es. "Chiave Server Produzione").
Cliccare su Genera.
- Viene richiesto l'inserimento di una passphrase.
L'impostazione di una password per proteggere il file della chiave privata è una pratica di sicurezza fortemente raccomandata.
Il sistema procederà alla generazione della coppia di chiavi (pubblica e privata), che apparirà nella sezione Chiave OpenSSH della barra laterale.
Aggiungere una Chiave PGP (GPG)
Le chiavi PGP sono utilizzate per firmare digitalmente documenti, email o pacchetti software, e per crittografare file.
Fare clic sul pulsante «+» situato nell'angolo in alto a sinistra della finestra.
Selezionare l'opzione Chiave PGP.
Compilare i dati anagrafici richiesti Nome completo e Indirizzo email da associare alla firma digitale.
A propria scelta, è possibile espandere il menu Opzioni avanzate per modificare il tipo di crittografia (es.: RSA), la lunghezza della chiave o per impostare una data di scadenza.
Cliccare su Crea.
- Digitare una passphrase sicura per proteggere la chiave.
- Attendere la conclusione del processo.
La generazione di chiavi richiede entropia: in caso di attese prolungate, muovere il cursore del mouse o digitare sulla tastiera per accelerare la raccolta di dati casuali da parte del sistema.
Aggiungere una chiave privata
L'inserimento di una chiave privata esistente all'interno di Password e chiavi differisce leggermente in base alla tipologia della chiave stessa (principalmente SSH o PGP/GPG).
Agisce spesso come interfaccia visiva per componenti di sistema sottostanti (come ssh-agent e GnuPG).
Importazione di una chiave
Per caricare file contenenti chiavi private esportate in precedenza:
Fare clic sul pulsante «+» situato nell'angolo in alto a sinistra della finestra.
Selezionare l'opzione Importa da file....
- Esplorare le cartelle del computer e selezionare il file contenente la chiave privata.
I formati comuni per i file delle le chiavi PGP sono .asc o .gpg, mentre per le chiavi SSH possono essere .pem, .key, `.pub o anche non avere nessuna estensione.
Selezionare Apri.
Qualora la chiave privata sia stata generata con una passphrase di protezione, il sistema chiederà di inserirla per autorizzare l'importazione.
A volte l'interfaccia grafica di Password e chiavi restituisce errori generici durante l'importazione di backup di chiavi PGP/GPG. In questi casi, è preferibile utilizzare lo strumento di base su cui si appoggia.
Posizionamento nel file system
Password e chiavi non memorizza le chiavi SSH nel proprio database crittografato, ma si limita a leggere il contenuto della cartella di sistema destinata a questo scopo (~/.ssh/). Nella maggior parte di casi, l'aggiunta manuale nella cartella è il metodo più efficace.
Aprire il terminale.
Copiare il file della chiave privata nella directory corretta:
cp /percorso/della/chiave_privata ~/.ssh/nome_chiave
Qualora la chiave privata SSH avesse permessi poco restrittivi, allora verrà ignorata dal sistema. Pertanto è obbligatorio restringere i permessi in lettura e scrittura al solo proprietario:
chmod 600 ~/.ssh/nome_chiave
avendo cura di sostituire «/percorso/della/chiave_privata» con il percorso effettivo.
Aprendo nuovamente l'applicazione Password e chiavi, la chiave privata appena copiata comparirà in automatico nella categoria Chiave OpenSSH.
Eliminazione password e chiavi
L'eliminazione di password, chiavi crittografiche all'interno di Password e chiavi è un'operazione irreversibile. Pertanto, è fondamentale procedere con cautela, specialmente quando si gestiscono chiavi di sicurezza. Pertanto si consiglia di effettuare un backup delle password, chiavi e dei certificati.
La procedura di base è identica per qualsiasi elemento elencato nella schermata principale (password salvate, chiavi SSH, chiavi GPG o certificati).
Individuare la categoria dell'elemento da eliminare.
- Selezionare l'elemento da eliminare con un singolo clic del mouse.
- Per procedere all'eliminazione, è possibile:
Fare clic con il tasto destro del mouse sull'elemento e selezionare Elimina dal menu contestuale.
Premere il tasto Canc della tastiera.
- A seconda di ciò che si sta eliminando, le conseguenze sul sistema variano:
Password memorizzate: L'eliminazione rimuove semplicemente la voce dal database del portachiavi (es. Login). Il software o il sito web associato richiederà nuovamente l'inserimento manuale delle credenziali al successivo utilizzo.
Chiavi SSH (Secure Shell): Eliminare una chiave SSH comporta la cancellazione fisica dei file (chiave pubblica e chiave privata) dalla cartella nascosta ~/.ssh/ del sistema.
Chiavi GPG/PGP: L'eliminazione di una chiave privata GPG renderà impossibile decrittografare qualsiasi file, documento o email precedentemente cifrato con tale chiave.
- Il sistema mostrerà una finestra di dialogo per confermare l'intenzione di eliminare definitivamente l'elemento. Confermare l'operazione.
Per eliminare un intero portachiavi, consultare il seguente paragrafo.
Sincronizzazione password e chiavi
Password e chiavi e il sistema sottostante GNOME Keyring sono progettati come strumenti di archiviazione strettamente locali. Non dispongono di alcuna funzione integrata per la sincronizzazione cloud automatica di password o chiavi private tra computer diversi.
A seconda della tipologia di dato, è possibile adottare strategie differenti per mantenere le informazioni aggiornate su più sistemi.
In ambito di sicurezza informatica, la pratica corretta non prevede la sincronizzazione delle chiavi SSH tra vari dispositivi. La regola aurea richiede la generazione di una coppia di chiavi univoca per ogni singolo dispositivo. Successivamente, le diverse chiavi pubbliche generate (es. una del computer fisso, una del portatile) verranno aggiunte singolarmente ai server di destinazione o ai servizi web (come GitHub, GitLab o server remoti). In questo modo, in caso di furto o smarrimento di un computer, sarà sufficiente revocare unicamente l'accesso di quella specifica chiave, senza compromettere l'intero ecosistema.
Sincronizzazione delle Password memorizzate
Poiché GNOME Keyring non supporta la sincronizzazione di rete, le password di accesso salvate localmente non possono essere mantenute automaticamente in pari tra due computer Ubuntu.
Per ottenere una vera sincronizzazione multipiattaforma delle password, la soluzione raccomandata consiste in:
Esportare le credenziali tramite script Python.
Importare il file .csv risultante in un gestore di password dedicato e progettato specificamente per la sincronizzazione (es. abbinato a un software di sincronizzazione file come Syncthing o Nextcloud).
Sincronizzazione delle Chiavi PGP (Pubbliche)
L'unica funzione di sincronizzazione nativamente presente in Password e chiavi riguarda esclusivamente le chiavi pubbliche PGP/GPG. Questa funzione serve a pubblicare e aggiornare le chiavi sui server pubblici (Keyserver), affinché altri utenti possano trovarle per inviare comunicazioni crittografate.
Selezionare la propria chiave PGP dalla sezione Chiavi GnuPG.
Cliccare sul menu principale in alto (spesso indicato con tre linee orizzontali o sotto la voce «Remoto» nelle versioni precedenti) e selezionare Sincronizza e pubblica chiavi....
Cliccare sul pulsante Server delle chiavi per configurare il server di destinazione (il predefinito è solitamente hkps://keyserver.ubuntu.com).
Cliccare su Sincronizza.
- Questa operazione trasmette esclusivamente la chiave pubblica. La chiave privata rimarrà sempre e solo sul computer locale).
Sincronizzazione di Chiavi Private
Il caricamento di chiavi private (i file id_rsa, id_ed25519 o i file segreti .asc) su servizi di sincronizzazione cloud (come Dropbox, Google Drive o OneDrive) è fortemente sconsigliato in quanto espone le credenziali crittografiche a gravi rischi di sicurezza.
Se emerge la necessità di utilizzare le stesse chiavi private su due computer differenti, occorre procedere tramite trasferimento manuale:
Effettuare un backup chiavi manualmente della cartella nascosta ~/.ssh/ (per le chiavi SSH) o esportare le chiavi private GPG su un supporto fisico sicuro (come una chiavetta USB crittografata).
Trasferire i file sul secondo computer, assicurandosi di ripristinare i permessi restrittivi (chmod 600 per ogni file chiave).
Esportare password e chiavi
Per l'esportazione di certificati:
Cliccare con il tasto destro sul certificato desiderato e selezionare Esporta.
- Scegliere il formato di esportazione e la posizione del file.
Password e chiavi non offre un'opzione di esportazione diretta in un formato leggibile. Esistono comunque dei metodi alternativi tramite script non ufficiali per estrarre queste informazioni.
L'esportazione delle password in un file leggibile può comportare un grave rischio per la sicurezza e potrebbe violare i termini di servizio di alcune applicazioni. È fondamentale proteggere il file esportato e utilizzarlo solo per la migrazione.
L'utilizzo di script non ufficiali comporta dei rischi. Assicurarsi di eseguire lo script da una fonte affidabile e di comprenderne il funzionamento prima di eseguirlo.
Metodo script Python
L'esportazione delle password da Password e chiavi verso un diverso gestore di password su Ubuntu può essere eseguita in modo pulito utilizzando Python.
GNOME Keyring utilizza l'API standard Secret Service di FreeDesktop. Pertanto, il metodo migliore e più sicuro per estrarre le credenziali tramite Python consiste nell'utilizzare la libreria ufficiale secretstorage, la quale comunica con il portachiavi tramite D-Bus.
L'approccio basato sulla libreria secretstorage illustrato in questa guida rimane comunque il metodo più aggiornato, sicuro e nativamente supportato per i sistemi Ubuntu 22.04 e versioni successive.
È necessario assicurarsi che Python e la libreria richiesta siano installati nel sistema. A tale scopo, procedere con uno dei due metodi:
Da repository ufficiali: installare i pacchetti python3, python3-pip e python3-secretstorage.
Da ambiente virtuale python: digitare nel terminale il comando:
pip3 install secretstorage
Script Python per l'esportazione
Lo script seguente si connette al portachiavi predefinito, estrae gli elementi salvati e li formatta in un file .csv standard, il formato maggiormente accettato dai gestori di password per la fase di importazione.
Lo script funziona correttamente se avviato dall'utente proprietario delle credenziali e se il portachiavi risulta già sbloccato (condizione che si verifica normalmente all'accesso al sistema).
Creare nella Home con un editor di testo il file denominato export_keyring.py e incollare il seguente codice:
import secretstorage import csv import sys def main(): # Inizializzare la connessione D-Bus connection = secretstorage.dbus_init() # Ottenere la collezione predefinita (solitamente "Login" o "Default") try: collection = secretstorage.get_default_collection(connection) except secretstorage.exceptions.SecretServiceNotAvailableException: print("Errore: Servizio Secret Service non disponibile.") sys.exit(1) # Verificare se il portachiavi è bloccato if collection.is_locked(): print("Il portachiavi è bloccato. Sbloccare tramite l'interfaccia di Seahorse prima dell'esecuzione.") sys.exit(1) items = collection.get_all_items() csv_filename = "passwords_export.csv" # Preparazione del file CSV. Intestazioni standard per i principali gestori password with open(csv_filename, mode='w', newline='', encoding='utf-8') as csv_file: fieldnames = ['name', 'url', 'username', 'password', 'notes'] writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writeheader() count = 0 for item in items: try: label = item.get_label() attributes = item.get_attributes() secret = item.get_secret().decode('utf-8', errors='ignore') # I dizionari degli attributi variano a seconda del software che ha creato la password url = attributes.get('action_url', '') or attributes.get('url_str', '') username = attributes.get('username_value', '') or attributes.get('username', '') writer.writerow({ 'name': label, 'url': url, 'username': username, 'password': secret, 'notes': f"Esportato da GNOME Keyring. Attributi originali: {attributes}" }) count += 1 except Exception as e: print(f"Errore durante l'elaborazione di un elemento: {e}") print(f"Esportazione completata. {count} password salvate in '{csv_filename}'.") if __name__ == "__main__": main()Salvare il file e chiudere l'editor.Assegnare i permessi di esecuzione.
Avviare lo script digitando nel terminale:
python3 export_keyring.py
In caso di esecuzione corretta, verrà generato un file denominato passwords_export.csv nella medesima directory.
Importazione e Sicurezza nel nuovo gestore password
Aprire il nuovo gestore di password, recarsi nella sezione di importazione dati (di solito nel menu Strumenti o Impostazioni, o altro nome simile), selezionare il formato CSV generico (o Chrome CSV) e caricare il file appena creato.
Il file passwords_export.csv contiene tutte le password in chiaro (non crittografate). A importazione completata, è importante eliminare il file in maniera definitiva. Si consiglia pertanto l'utilizzo del seguente comando:<BR>> shred -u passwords_export.csv.
Il comando shred si occupa di sovrascrivere il file prima dell'eliminazione, rendendone impossibile (o comunque molto difficoltoso) il recupero.
Alternative su GitHub
Per necessità di esportazione più complesse (ad esempio, per gestire attributi specifici salvati da vecchie versioni dei browser o da NetworkManager), è possibile cercare script già configurati su piattaforme come GitHub.
Quando si utilizzano strumenti di terze parti per trattare dati sensibili, è buona norma esaminare il codice sorgente per assicurarsi che non vi siano connessioni esterne indesiderate.
Metodo modifica manuale del file del portachiavi
Questo metodo è molto rischioso ed è consigliato per utenti esperti in quanto può danneggiare il sistema se non eseguito correttamente.
Prima di apportare qualsiasi modifica, creare una copia di backup del file del portachiavi.
Localizzare il file di configurazione del portachiavi (si trova solitamente in ~/.local/share/keyrings/).
Aprire con un editor di testo il file.
- Cercare le password. Queste sono generalmente criptate, quindi potrebbero non essere leggibili direttamente.
Gestore di password alternativi
Per una gestione più efficace, si può ricorrere a gestori di password dedicati come i seguenti:
KeePassXC: open source e multipiattaforma, è molto popolare e offre una sincronizzazione sicura tramite cloud o sistemi di controllo di versione.
Bitwarden: open source con un'interfaccia user-friendly, offre funzionalità di sincronizzazione avanzate.
1Password: strumento propretario premium con funzionalità di sincronizzazione molto robuste e un'ampia gamma di integrazioni.
Migrazione delle password da Password e chiavi
La migrazione delle password da Password e chiavi a un nuovo gestore di password è un processo che si articola in tre passaggi principali.
Esportare le password da Password e chiavi in un formato generalmente compatibile (es.: file csv).
- Importare il file esportato nel nuovo gestore di password.
- Configurare la sincronizzazione del nuovo gestore su tutti i dispositivi.
In questo modo, è possibile trasferire in modo sicuro tutte le password e le chiavi, che potranno essere salvate su un servizio cloud e scaricate su altri dispositivi per completare la migrazione.
Soluzioni cloud based
Nextcloud: tra i vari servizi cloud della piattaforma, offre un'app per la gestione delle password che può essere sincronizzata tra diversi dispositivi.
Seafile: alternativa a Nextcloud, con funzionalità simili per la sincronizzazione delle password.
Assicurarsi di scegliere una soluzione di sincronizzazione che offra un'elevata sicurezza e crittografia end-to-end.
Scegliere un gestore di password che sia facile da usare e che offra le funzionalità di cui si ha bisogno.
Alcuni gestori di password offrono piani gratuiti, mentre altri richiedono un abbonamento a pagamento.
Risoluzione problemi
È consigliabile effettuare regolarmente un backup dei certificati, e della cartella ~/.local/share/keyrings in caso di necessità.
Resettare la password
Fare attenzione quando si reimposta la password del portachiavi. Assicurarsi di avere delle pratiche di password forti e abilitato l'autenticazione a due fattori (2FA) ove possibile, per proteggere le informazioni sensibili.
Password e chiavi non ha una funzione diretta di reset della password. Tuttavia si può reimpostare la password del portachiavi semplicemente rimuovendo la configurazione esistente e creandone una nuova:
Chiudere Password e chiavi se aperto.
Per rimuovere il portachiavi digitare in un terminale il seguente comando:
rm ~/.local/share/keyrings/*
- Riavviare il sistema.
Aprire di nuovo Password e chiavi. Verrà chiesto di creare una nuova password per il portachiavi.
- Inserire la password desiderata. Questa diventerà la nuova password per il portachiavi.
Seguendo questi passaggi si dovrebbe riuscire a reimpostare la password del portachiavi e ad accedere nuovamente alle credenziali memorizzate.
Al prossimo avvio della sessione sarà richiesta la nuova password per il portachiavi e sarà necessario reinserire tutte le altre chiavi.
Qualora si dimentichi nuovamente la password, potrebbe essere necessario reinstallare il sistema operativo.
Importazione chiave da riga di comando
Aprire il terminale.
Eseguire il comando di importazione:
gpg --import /percorso/del/file_chiave_privata.asc
Il terminale confermerà la lettura e l'inserimento della chiave segreta.
L'applicazione Password e chiavi, alla successiva apertura o aggiornamento della schermata, mostrerà la chiave importata sotto la categoria Chiavi GnuPG.






