Mutt: ¿como almacenar la contraseña de forma segura?

52

Mi archivo .muttrc se parece a este o ver más abajo un vistazo. Dudo con la contraseña. ¿Cómo debo guardar mi contraseña para usarla mutt?

set imap_user = "[email protected]"
set imap_pass = "password"

set smtp_url = "smtp://[email protected]:587/"
set smtp_pass = "password"
set from = "[email protected]"
set realname = "Your Real Name"
Anthon
fuente
44
En la publicación que vinculó, ya escribí "Asegúrese de que su ~ / .muttrc no sea legible en todo el mundo; contiene su contraseña. (Alternativamente, puede omitirlas y mutt le pedirá la contraseña cada vez)". :-)

Respuestas:

38

Este ajuste debería deshacerte de tu problema. Use gpg como se sugiere, o

set imap_pass=`getpassword email_id`

donde usa pwsafe o contraseñas para buscar las contraseñas.

Editar: si mutt está construido con soporte IMAP (--enable-imap), mutt debería solicitarle la contraseña si no la configura en el archivo de configuración. Del manual:

imap_pass

Tipo: cadena Valor predeterminado: ""

Especifica la contraseña para su cuenta IMAP. Si no está configurado, Mutt le pedirá su contraseña cuando invoque la función de obtención de correo. Advertencia: solo debe usar esta opción cuando esté en una máquina bastante segura, porque el superusuario puede leer su muttrc incluso si usted es el único que puede leer el archivo.

nagul
fuente
99
Haz que un perro callejero te lo pida. Solo deberías ingresar una vez por sesión.
David Mackintosh
2
Además, si corres muttdentro tmux, tu sesión puede durar un tiempo.
Chris W.
¿Cuál es esta función getpassword? No lo tengo en mi servidor Ubuntu 14.04.3 LTS (GNU / Linux). Creo que son pwsafeo passwordspero ¿debería usarlos? Me gustaría iniciar sesión en mi cuenta mutt sin contraseña una vez que haya iniciado sesión en el servidor, ya que la contraseña del servidor es la misma que la del correo electrónico.
Léo Léopold Hertz 준영
1
Puede usar pass - passwordstore.org Esta herramienta se puede usar exactamente de la misma manera que se describe en la respuesta anterior. Las contraseñas se almacenan en el repositorio git encriptado por la clave GPG elegida.
Jakub Jindra
28

Crear un archivo de contraseñas ~/.mutt/passwords::

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

Este archivo se puede cifrar con GPG. Primero, cree un par de claves pública / privada:

$ gpg --gen-key

Cifre el archivo de contraseñas:

$ 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

Añadir a su muttrc:

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

vía

Ver también la entrada Mutt de Arch Wiki .

DmitrySandalov
fuente
¿Debería la clave pública en el archivo de contraseñas o el script de shell? Creo que el script de shell debería estar en .muttrc. Me sale después de ejecutar el comando gpg gpg: [email protected]: skipped: public key not found gpg: /u/77/masi/unix/.mutt/passwords: encryption failed: public key not found. Lo hice cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/known_hostspero no parece ser el problema. ¿Qué hago mal?
Léo Léopold Hertz 준영
1
Masi, debe tener una clave GPG (o PGP), no su clave pública SSH. Más información sobre las claves GPG aquí: fedoraproject.org/wiki/Creating_GPG_Keys y aquí: help.ubuntu.com/community/GnuPrivacyGuardHowto
DmitrySandalov
1
Esta es una solución perfecta. Aquí está mi archivo de configuración para cualquier persona que necesite referencia: github.com/shubhamchaudhary/dotfiles/blob/master/home/.muttrc
Shubham Chaudhary
Pensé que era una buena solución, pero luego escribí :set imap_passmutt y obtuve mi contraseña en texto sin formato. ¿Se puede evitar esto? Cuando mutt solicita la contraseña de imap, no muestra la contraseña de texto caleado al escribir: set ...
eli
¿Creó su clave privada GPG sin contraseña? Si no gpg -dse requeriría contraseña. ¿Por qué utilizar una contraseña para cifrar una contraseña cuando el objetivo es sin contraseña de inicio de sesión ...
sdaffa23fdsf
3

¿Por qué no usar un administrador de billetera como gnome-keyringo kwalletmanagercon secret-tool?

apt install gnome-keyring secret-tool

[neo] muttrc:

source 'echo "$( pw=$( secret-tool lookup user <USERNAME> domain <DOMAIN> ); echo set imap_pass=\"$pw\"; echo set smtp_pass=\"$pw\" )" |'

Almacene su imap y smtp passwd:

secret-tool store --label=imap user <USERNAME> domain <DOMAIN>

Puede elegir su propia etiqueta si lo desea.

Busque sus créditos usando un shell:

secret-tool lookup user <USERNAME> domain <DOMAIN>

Encienda su [neo] mutt, conéctese e inicie sesión en su imap srv. Disfrutar.

Esta solución tiene ventajas sobre las basadas en gpg: se integra bien y no queda ningún archivo adicional.

Bonificación: Use libsecreto directamente gnome-keyringcomo git credential-helperen git con libsecret y git con gnome-keyring . Ambos ayudantes necesitan compilación manual. Sí, es un poco incómodo, pero está funcionando muy bien.

Gen.Stack
fuente
1

Basado en el comentario de ShreevatsaR, quiero enfatizar la seguridad. Si la contraseña está en $ HOME / .muttrc, haga

chmod go-r $HOME/.muttrc

Sin embargo, creo que esta no es una opción segura todavía. Debe usar algún método que use sal para almacenar contraseñas.

Léo Léopold Hertz 준영
fuente
0

Puede leer la contraseña de un archivo sin cifrar.

Por ejemplo, ingrese la contraseña en ~/secrets/mail_pass:

the_secret_mail_password

Entonces

chmod 600 ~/secrets/mail_pass`

En tu muttrc:

# Read the password from a file and set it
set smtp_pass=`cat ~/secrets/mail_pass`
Matthias Braun
fuente
Es mucho más fácil hacerlo chmod 600 ~/.muttrc.
dr01
Si mantiene sus contraseñas ~/.muttrc, no podrá publicarlas colocándolas en GitLab, etc. Además, si usa OfflineIMAP, también necesita la contraseña y también puede leerla desde el archivo de contraseña externo.
Matthias Braun