Ok, forse prima un piccolo contesto:
Uso un file crittografato PGP (GPG) per conservare le mie password. Uso uno script (trattino), associato a una combinazione di tasti, per inserire nomi utente e password tra applicazioni e siti Web. Ho anche una coppia di chiavi PGP per email.
Non mi piace dover rinunciare alla mia complessa password per decodificare ogni e-mail ogni volta. Fortunatamente gpg2 risolve questo nascondendo la password con gpg-agent. Tuttavia, non mi piace questo comportamento quando si tratta del mio file di password. Non voglio che venga decodificato per la stessa quantità di tempo delle mie e-mail ...
Per quanto ne so, non puoi impostare diversi timeout per chiavi diverse, quindi ho trovato la seguente soluzione:
Per decrittografare il mio file di password userei questa riga nel mio script "auto-type":
store="$(gpg -q --batch --passphrase 'dmenu -P' -d /path/to/file)"
(L'opzione -P per dmenu viene aggiunta con una patch .Non mostra ciò che scrivi. Il mio file password sarebbe simmetricamente crittografato.)
In questo modo, gpg-agent viene aggirato e la password deve essere fornita ogni volta.
La mia domanda è: questo metterebbe a repentaglio la mia password? è in qualche modo meno sicura che dare gpg la password a gpg-agent?
Inoltre, come puoi vedere, memorizzo il testo decrittografato in una variabile locale. Quanto è insicuro questo? Lo script termina dopo aver digitato (o non aver digitato) le informazioni richieste e ho questa trappola all'inizio dello script:
finish () {
unset store
unset passw
}
trap finish EXIT