Estoy tratando de configurar OfflineIMAP para autenticarse a través de un archivo cifrado gpg (de esa manera puedo consolidar todo mi cifrado en mi proceso de agente gpg).
Según la documentación, parece que la única forma de cifrar las contraseñas del servidor es usar gnome-keyring (que preferiría no ejecutar en mi servidor sin cabeza). ¿Hay alguna forma de canalizar mi contraseña desde un archivo gpg de la misma manera que puede hacerlo con mutt?
Sé que puede agregar características adicionales a offlineimap con el archivo de extensión python, pero me temo que no sabría por dónde empezar con eso.
encryption
gpg
offlineimap
Tammer Ibrahim
fuente
fuente
root
usuario podría hacer para evitar el cifrado. Recuerde que incluso el reenvío X11 desde máquinas no confiables (por ejemplo, a través dessh -X
) no es seguro.Respuestas:
Otro método para dejar offlineimap ejecutándose con conocimiento de su contraseña, pero sin poner la contraseña en el disco, es dejar offlineimap ejecutándose en tmux / screen con la
autorefresh
configuración habilitada en su~/.offlineimaprc
Debe agregar
autorefresh = 10
a la[Account X]
sección del archivo offlineimaprc para que se verifique cada 10 minutos. También elimine cualquier línea de configuración conpassword
opasswordeval
.Luego ejecute offlineimap: le pedirá su contraseña y la almacenará en la memoria caché. No saldrá después de la primera ejecución, pero dormirá durante 10 minutos. Luego se activará y volverá a ejecutarse, pero aún recordará su contraseña.
Por lo tanto, puede dejar una sesión tmux ejecutándose con offlineimap, ingrese su contraseña una vez y offlineimap estará bien allí después.
fuente
Utilizo el siguiente método, que funciona bastante bien:
1) Almacene sus contraseñas en archivos cifrados gpg separados. Por ejemplo
~/.passwd/<accountname>.gpg
2) Cree un archivo de extensión de Python con el nombre que elija (por ejemplo,
~/.offlineimap.py
), con el siguiente contenido:3) Modifique su archivo .offlineimaprc para informarle sobre el archivo python y para indicarle cómo leer sus contraseñas.
Si tiene varias cuentas que se verifican simultáneamente (hilos separados) y usa gpg-agent, le pedirá una frase de contraseña para cada cuenta. Preparo el agente creando un archivo (
echo "prime" | gpg -e -r [email protected] > ~/.passwd/prime.gpg
) y preparando el agente gpg descifrando este archivo al iniciar offlineimap. Para hacer esto, agregue lo siguiente al final de~/.offlineimap.py
:fuente
Me encanta la respuesta de @kbeta. Sin embargo
subprocess.check_output()
, solo se introdujo en Python 2.7, así que aquí hay una versiónofflineimap.py
que funcionará con versiones anteriores de Python:fuente