Password al Sicuro con GPG: Una Soluzione Leggera e Sicura

🛡️ 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

  1. Crea il file:
    nano ~/bin/pwm
  2. Incolla lo script e sostituisci TUO_NOME_GPG con il tuo nome o email GPG
  3. Rendilo eseguibile:
    chmod +x ~/bin/pwm
  4. Aggiungi ~/bin al $PATH se non lo è:
    echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

🚀 Utilizzo

  • pwm -i → inizializza l’archivio cifrato
  • pwm -e → modifica con editor
  • pwm 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.

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.