Mutt: comment stocker en toute sécurité mot de passe?


52

Mon fichier .muttrc ressemble à ceci ou à un aperçu ci-dessous. Je suis hésitant avec le mot de passe. Comment dois-je stocker mon mot de passe pour l'utiliser mutt?

set imap_user = "username@gmail.com"
set imap_pass = "password"

set smtp_url = "smtp://username@smtp.gmail.com:587/"
set smtp_pass = "password"
set from = "username@gmail.com"
set realname = "Your Real Name"

4
Dans le message que vous avez lié, j'ai déjà écrit "Assurez-vous que votre ~ / .muttrc n'est pas lisible par tout le monde; il contient votre mot de passe. (Vous pouvez également le laisser de côté et mutt vous le demandera à chaque fois.)" :-)

Réponses:


38

Ce tweak devrait vous débarrasser de votre problème. Utilisez gpg comme suggéré, ou

set imap_pass=`getpassword email_id`

où vous utilisez pwsafe ou des mots de passe pour récupérer les mots de passe.

Edit: Si Mutt est construit avec le support IMAP (--enable-imap), Mutt devrait vous demander le mot de passe si vous ne le définissez pas dans le fichier de configuration. Du manuel:

imap_pass

Type: chaîne Valeur par défaut: ""

Spécifie le mot de passe de votre compte IMAP. Si non défini, Mutt vous demandera votre mot de passe lorsque vous appelez la fonction fetch-mail. Attention: vous ne devriez utiliser cette option que sur une machine relativement sécurisée, car le superutilisateur peut lire votre muttrc même si vous êtes le seul à pouvoir lire le fichier.


9
+1 je dois te le demander. Vous ne devriez avoir à y entrer qu'une fois par session.
— David Mackintosh

2
De plus, si vous courez à l' muttintérieur tmux, votre session peut durer un certain temps.
— Chris W.

Quelle est cette fonction getpassword? Je ne l'ai pas dans mon serveur Ubuntu 14.04.3 LTS (GNU / Linux). Je pense qu'ils sont pwsafeou passwordsmais devrais-je les utiliser? Je souhaite être connecté à mon compte mutt sans mot de passe une fois que je suis connecté au serveur, car le mot de passe du serveur est le même que celui de l'e-mail.
— Léo Léopold Hertz

1
Vous pouvez utiliser pass - passwordstore.org. Cet outil peut être utilisé exactement comme décrit dans la réponse ci-dessus. Les mots de passe sont stockés dans le référentiel git chiffré par la clé GPG choisie.
— Jakub Jindra

28

Créez un fichier de mots de passe ~/.mutt/passwords:

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

Ce fichier peut être crypté avec GPG. Commencez par créer une paire de clés publique / privée:

$ gpg --gen-key

Cryptez le fichier de mots de passe:

$ gpg -r your.email@example.com -e ~/.mutt/passwords
$ ls ~/.mutt/passwords*
/home/user/.mutt/passwords   /home/user/.mutt/passwords.gpg
$ shred ~/.mutt/passwords
$ rm ~/.mutt/passwords

Ajouter à votre muttrc:

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

via

Voir aussi l' entrée Arch Wiki's Mutt .


La clé publique dans le fichier de mots de passe ou le script shell devrait-elle? Je pense que le script shell devrait être en .muttrc. Je reçois après avoir exécuté la commande gpg gpg: masi@myuni.fi: skipped: public key not found gpg: /u/77/masi/unix/.mutt/passwords: encryption failed: public key not found. Je l'ai fait cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/known_hostsmais cela ne semble pas être le problème. Qu'est-ce que je fais mal?
— Léo Léopold Hertz

1
Masi, vous devez avoir une clé GPG (ou PGP), pas votre clé publique SSH. Plus d'informations sur les clés GPG ici: fedoraproject.org/wiki/Creating_GPG_Keys et ici: help.ubuntu.com/community/GnuPrivacyGuardHowto
— DmitrySandalov

1
C'est une solution parfaite. Voici mon fichier de configuration pour tous ceux qui ont besoin de référence: github.com/shubhamchaudhary/dotfiles/blob/master/home/.muttrc
— Shubham Chaudhary

Je pensais que c'était une bonne solution, mais j'ai ensuite saisi :set imap_passmutt et mon mot de passe a été affiché en texte clair. Cela peut-il être évité? Lorsque Mutt demande le mot de passe imap lui-même, il n'affiche pas le mot de passe caleartext lors de la frappe: set ...
— eli

Avez-vous créé votre clé privée GPG sans mot de passe? Sinon, il gpg -dfaudrait un mot de passe. Pourquoi utiliser mot de passe pour crypter un mot de passe lorsque l'objectif est de se connecter sans mot de passe ...
— sdaffa23fdsf

3

Pourquoi ne pas utiliser un gestionnaire de portefeuille comme gnome-keyringou kwalletmanageravec secret-tool?

apt install gnome-keyring secret-tool

[néo] muttrc:

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

Conservez votre mot de passe imap et smtp:

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

Vous pouvez choisir votre propre étiquette si vous le souhaitez.

Recherchez vos crédits à l'aide d'une coquille:

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

Allumez votre [neo] mutt, connectez-vous et connectez-vous à votre srv imap. Prendre plaisir.

Cette solution présente des avantages par rapport aux solutions basées sur les gpg: elle s’intègre bien et il n’ya plus de fichier supplémentaire à perdre.

Bonus: Utilisation libsecretou directement en gnome-keyringtant que git credential-helpercomme dans git avec libsecret et git avec gnome-keyring . Les deux assistants ont besoin d'une compilation manuelle. Oui, c'est un peu gênant mais cela fonctionne très bien.


1

Sur la base du commentaire de ShreevatsaR, je souhaite mettre l’accent sur la sécurité. Si le mot de passe dans $ HOME / .muttrc, faites

chmod go-r $HOME/.muttrc

Cependant, je pense que ce n'est pas encore une option sécurisée. Vous devriez utiliser une méthode qui utilise salt pour stocker les mots de passe.


0

Vous pouvez lire le mot de passe à partir d'un fichier non crypté.

Par exemple, mettez le mot de passe dans ~/secrets/mail_pass:

the_secret_mail_password

ensuite

chmod 600 ~/secrets/mail_pass`

Dans votre muttrc:

# Read the password from a file and set it
set smtp_pass=`cat ~/secrets/mail_pass`

C'est juste beaucoup plus facile à chmod 600 ~/.muttrc.
— dr01

Si vous conservez vos mots de passe, ~/.muttrcvous ne pourrez pas les publier en les mettant sur GitLab, etc. De plus, si vous utilisez OfflineIMAP, il a également besoin du mot de passe et peut le lire à partir du fichier de mot de passe externe.
— Matthias Braun le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.