mutt una vez solicitó la contraseña, utilizada tanto para imap como para smtp

mutt una vez solicitó la contraseña, utilizada tanto para imap como para smtp

Mi contraseña para imap y smtp es la misma y la versión mutt usa la configuración smtp integrada.

No quiero almacenar mi contraseña en ningún script ni cifrarla con pgp/openssl ni usar administradores de contraseñas de billetera. Además, quiero exactamente:

  • que se le solicite la contraseña solo una vez
  • Se utilizará la misma contraseña para imap y smtp (no se volverá a solicitar dentro de la misma sesión de mutt)

¿Cuál es la mejor manera de lograr esto?

Mi solución ya descubierta utiliza estas líneas de configuración .muttrc:

set imap_pass=`read -s -p 'mail-password : ' mailpass ; echo $mailpass`
set smtp_pass=$imap_pass

y está ~ bien para mis necesidades. Sólo porque soy nuevo en Mutt, me pregunto si hay alguna manera mejor...

(... como usar imap_pass y smtp_pass omitidos, lo que resultará en que mutt le solicite imap_pass, y luego convencer de alguna manera a mutt de que use lo mismo para smtp).

Respuesta1

Si bien no creo que sea seguro leer la contraseña en una variable de entorno, *
Me gusta la forma de Aaron Toponce (créditos para él:https://ptres.org/2012/01/07/encrypted-mutt-imap-smtp-passwords/):

Y de esa manera, podría usar varias cuentas con el mismo archivo de contraseña (pero sí, no se recomienda usar el mismo pase para diferentes cuentas)


Solo lo esencial(para obtener una explicación, consulte el enlace de arriba):

Primero, creé un archivo ~/.mutt/passwords. El archivo está en texto plano. Antes de cifrarlo, aquí está su contenido:

set imap_pass="password"
set smtp_pass="password"

Luego cifro ese archivo con el siguiente comando:

% gpg -r [email protected] -e ~/.mutt/passwords
% ls ~/.mutt/passwords*
/home/user/.mutt/passwords /home/user/.mutt/passwords.gpg
% shred ~/.mutt/passwords
% rm ~/.mutt/passwords

Los dos últimos comandos sirven para garantizar que el archivo temporal que creó para el cifrado se borre de forma segura del disco mediante la utilidad GNU Shred. Ahora, sólo deberías tener un archivo de datos binarios cifrados que contenga tus contraseñas. Todo lo que queda es configurar Mutt para que los descifre al iniciar. Puedes configurarlo fácilmente en tu Muttrc:

source "gpg -d ~/.mutt/passwords.gpg |"

actualizar:
* no está en una variable de entorno, está en la memoria:
cita:Mutt tiene que almacenar la contraseña en algún lugar de la memoria y utiliza una configuración que puedes consultar para ello. No es una variable de entorno, es memoria de perros callejeros. Cualquiera que tenga acceso a él puede obtener esa contraseña. En un sistema Linux estándar, estos son todos los programas que se ejecutan bajo su usuario. Con sysctl kernel.yama.ptrace_scope = 1 ningún otro programa puede acceder a la memoria. Pero si un atacante puede ejecutar código como su usuario (lo cual puede hacer si compromete algún programa), entonces puede simplemente obtener la contraseña cuando ejecuta gpg.

información relacionada