Gestire le Password in Modo Sicuro con GPG e uno Script Bash
Il problema: troppe password da ricordare
Come molti, ho decine di credenziali: siti web, server SSH, account VPN, servizi cloud…
Un tempo le annotavo su un quaderno. Ma con l’ansia che potesse finire nelle mani sbagliate.
La mia soluzione: GPG + uno script Bash + archivio cifrato
Perché usare GPG
GPG (GNU Privacy Guard) utilizza una coppia di chiavi asimmetriche (pubblica e privata).
Il file con le password viene cifrato con la chiave pubblica e può essere decifrato solo con la chiave privata, protetta da una passphrase.
Niente cloud, nessuna app esterna: solo sicurezza e controllo locale.
Lo script pwm
(Password Manager minimale)
Non si tratta di un programma già esistente: è uno script Bash che puoi scrivere tu stesso.
Ecco lo script completo:
Codice completo dello script pwm
#!/bin/bash
GPG_RECIPIENT="TUO_NOME_GPG" # ← sostituisci con il tuo UID o email GPG
GPG_FILE="$HOME/.passwords.gpg"
TMP_FILE="/tmp/passwd.$$"
usage() {
echo "Uso: pwm [-i|-e|stringa_da_cercare]"
echo " -i Inizializza il file cifrato"
echo " -e Modifica l’archivio password"
echo " stringa Cerca nel file decifrato"
exit 1
}
if [ $# -eq 0 ]; then
usage
fi
case "$1" in
-i)
echo "[*] Inizializzazione GPG..."
if [ ! -f "$GPG_FILE" ]; then
touch "$TMP_FILE"
gpg --encrypt -r "$GPG_RECIPIENT" "$TMP_FILE" > "$GPG_FILE"
rm -f "$TMP_FILE"
echo "[✓] File inizializzato in $GPG_FILE"
else
echo "[!] Il file $GPG_FILE esiste già"
fi
;;
-e)
echo "[*] Modifica in corso..."
gpg --decrypt "$GPG_FILE" > "$TMP_FILE" 2>/dev/null
${EDITOR:-vi} "$TMP_FILE"
gpg --yes --output "$GPG_FILE" --encrypt -r "$GPG_RECIPIENT" "$TMP_FILE"
rm -f "$TMP_FILE"
echo "[✓] File aggiornato"
;;
*)
gpg --decrypt "$GPG_FILE" 2>/dev/null | grep -i "$1"
;;
esac
Come installarlo
- Crea il file:
nano ~/bin/pwm
- Incolla lo script e sostituisci
TUO_NOME_GPG
con il tuo nome o email GPG - Rendilo eseguibile:
chmod +x ~/bin/pwm
- Aggiungi
~/bin
al$PATH
se non lo è:echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
Utilizzo
pwm -i
→ inizializza l’archivio cifratopwm -e
→ modifica con editorpwm gmail
→ cerca “gmail” nelle password
Esempio di contenuto
Scrivi le password in formato semplice (una per riga):
gmail mario.rossi@gmail.com Passw0rd123!
serverSSH root@192.168.1.10 MyS3cretKey!
vpn aziendale@vpn.example.it UltraSafe!
Alternativa grafica: KeePassXC
Se preferisci una GUI completa e moderna, ti consiglio KeePassXC:
Tutto offline
Ricerca istantanea
Copia in clipboard con timeout
Supporta cartelle e tag
Compatibile con
kdbx
di KeePass
Installazione su Ubuntu/Debian:
sudo apt install keepassxc
Disponibile anche per macOS e Windows.
Conclusione
GPG + uno script Bash = gestore password semplice, sicuro, offline e gratuito.
Niente sincronizzazione online
Compatibile con Linux (e WSL/macOS)
Completamente sotto il tuo controllo
Consiglio: esegui periodicamente un backup sicuro della tua chiave privata GPG!
Sicurezza al 100%?
Confidenza: 95%
Motivo: Questa soluzione è molto solida se:
- usi una passphrase robusta per la chiave GPG,
- mantieni la chiave privata solo su dispositivi sicuri,
- fai backup del file
.gpg
e della chiave privata su supporti criptati.
Rimane comunque un metodo “artigianale”: ideale per utenti Linux che vogliono controllo completo senza servizi esterni.