Mutt: come conservare in sicurezza la password?


52

Il mio file .muttrc assomiglia a questo o vedi sotto uno sguardo. Sono titubante con la password. Come devo memorizzare la mia password per usarla 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
Nel post che hai collegato, ho già scritto "Assicurati che il tuo ~ / .muttrc non sia leggibile in tutto il mondo; contiene la tua password. (In alternativa, puoi lasciarli fuori e mutt ti chiederà la password ogni volta.)" :-)

Risposte:


38

Questo tweak dovrebbe eliminare il tuo problema. Usa gpg come suggerito, oppure

set imap_pass=`getpassword email_id`

dove usi pwsafe o password per recuperare le password.

Modifica: se mutt è costruito con il supporto IMAP (--enable-imap), allora mutt dovrebbe chiederti la password se non la imposti nel file di configurazione. Dal manuale:

imap_pass

Tipo: stringa Predefinito: ""

Specifica la password per il tuo account IMAP. Se non impostato, Mutt ti chiederà la password quando invochi la funzione fetch-mail. Attenzione: dovresti usare questa opzione solo quando sei su una macchina abbastanza sicura, perché il superutente può leggere il tuo muttrc anche se sei l'unico che può leggere il file.


9
+1 ti devo chiedere. Dovresti inserirlo solo una volta per sessione.
David Mackintosh,

2
Inoltre, se corri muttall'interno tmux, la tua sessione può durare un po '.
Chris W.

Cos'è questa funzione getpassword? Non ce l'ho nel mio server Ubuntu 14.04.3 LTS (GNU / Linux). Penso che lo siano pwsafeo passwordsma dovrei usarli? Vorrei essere loggato nel mio account-mutt senza password una volta effettuato l'accesso al server, poiché la password del server è la stessa di quella dell'email.
Léo Léopold Hertz

1
Puoi usare pass - passwordstore.org Questo strumento può essere usato esattamente come descritto nella risposta sopra. Le password sono memorizzate nel repository git crittografate dalla chiave GPG scelta.
Jakub Jindra,

28

Crea un file di password ~/.mutt/passwords::

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

Questo file può essere crittografato tramite GPG. Innanzitutto, crea una coppia di chiavi pubblica / privata:

$ gpg --gen-key

Crittografa il file delle password:

$ 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

Aggiungi a muttrc:

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

attraverso

Vedi anche la voce Mutt di Arch Wiki .


La chiave pubblica dovrebbe essere nel file delle password o nello script della shell? Penso che lo script della shell dovrebbe essere in .muttrc. Ottengo dopo aver eseguito il comando gpg gpg: masi@myuni.fi: skipped: public key not found gpg: /u/77/masi/unix/.mutt/passwords: encryption failed: public key not found. L'ho fatto cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/known_hostsma non sembra essere il problema. Cosa faccio di sbagliato?
Léo Léopold Hertz

1
Masi, devi avere una chiave GPG (o PGP), non la tua chiave pubblica SSH. Maggiori informazioni sulle chiavi GPG qui: fedoraproject.org/wiki/Creating_GPG_Keys e qui: help.ubuntu.com/community/GnuPrivacyGuardHowto
DmitrySandalov

1
Questa è una soluzione perfetta Ecco il mio file di configurazione per chiunque abbia bisogno di riferimento: github.com/shubhamchaudhary/dotfiles/blob/master/home/.muttrc
Shubham Chaudhary

Ho pensato che fosse una buona soluzione, ma poi ho digitato :set imap_passmutt e ho mostrato la mia password in chiaro. Questo può essere evitato? Quando mutt richiede la stessa password imap, non mostra la password caleartext durante la digitazione: set ...
eli

Hai creato la tua chiave privata GPG senza password? Altrimenti gpg -drichiederebbe la password. Perché usare la password per crittografare una password quando l'obiettivo è un login senza password ...
sdaffa23fdsf

3

Perché non utilizzare un gestore di portafogli come 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\" )" |'

Memorizza il tuo imap e smtp passwd:

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

Puoi scegliere la tua etichetta se lo desideri.

Cerca i tuoi crediti usando una shell:

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

Accendi il tuo [neo] mutt, connettiti e accedi al tuo imap srv. Godere.

Questa soluzione ha dei vantaggi rispetto a quelli basati su gpg: si integra bene e non è rimasto alcun file aggiuntivo in giro.

Bonus: Usa libsecreto direttamente gnome-keyringcome git credential-helperas in git con libsecret e git con gnome-keyring . Entrambi gli helper necessitano di compilazione manuale. Sì, è un po 'imbarazzante ma funziona alla grande.


1

Sulla base del commento di ShreevatsaR, voglio sottolineare la sicurezza. Se la password in $ HOME / .muttrc, fare

chmod go-r $HOME/.muttrc

Tuttavia, penso che questa non sia ancora un'opzione sicura. Dovresti usare un metodo che usa il sale per archiviare le password.


0

Puoi leggere la password da un file non crittografato.

Ad esempio, inserisci la password in ~/secrets/mail_pass:

the_secret_mail_password

Poi

chmod 600 ~/secrets/mail_pass`

Nel tuo muttrc:

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

È solo molto più facile chmod 600 ~/.muttrc.
dr01,

Se conservi le tue password ~/.muttrcnon potrai pubblicarle inserendole su GitLab, ecc. Inoltre, se usi OfflineIMAP ha bisogno anche della password e può leggerla anche dal file di password esterno.
Matthias Braun,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.