Bueno, quizás primero un poco de contexto:
Utilizo un archivo cifrado PGP (GPG) para guardar mis contraseñas. Uso un script (guión), vinculado a una combinación de teclas, para completar los nombres de usuario y las contraseñas en las aplicaciones / sitios web. También tengo un par de claves PGP para correo electrónico.
No me gusta tener que ingresar mi contraseña compleja para descifrar todos los correos electrónicos cada vez. Afortunadamente gpg2 resuelve esto almacenando la contraseña con gpg-agent. Sin embargo, no me gusta este comportamiento cuando se trata de mi archivo de contraseña. No quiero que sea descifrado por la misma cantidad de tiempo que mis correos electrónicos ...
Por lo que sé, no puede establecer diferentes tiempos de espera para diferentes teclas, por lo que se me ocurrió la siguiente solución:
Para descifrar mi archivo de contraseña, usaría esta línea en mi script "auto-type":
store="$(gpg -q --batch --passphrase 'dmenu -P' -d /path/to/file)"
(La opción -P para dmenu se agrega con un parche. No muestra lo que escribes. El archivo de mi contraseña se cifraría simétricamente)
De esta manera, gpg-agent se elude y la contraseña debe proporcionarse cada vez.
Mi pregunta es: ¿Esto pondría en peligro mi contraseña? ¿Es esto menos seguro que darle a gpg la contraseña a gpg-agent?
También, como puede ver, almaceno el texto descifrado en una variable local. ¿Qué tan inseguro es esto? El script se cierra después de escribir (o no escribir) la información solicitada y tengo esta trampa al principio del script:
finish () {
unset store
unset passw
}
trap finish EXIT