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.