Mutt: Wie kann ich mein Passwort sicher speichern?

52

Meine .muttrc Datei sieht so etwas wie diese eine oder unter einem Blick sehen. Ich zögere mit dem Passwort. Wie soll ich mein Passwort speichern, um es zu verwenden 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
quelle
4
In dem Beitrag, den du verlinkt hast, habe ich bereits geschrieben: "Stelle sicher, dass dein ~ / .muttrc nicht von der Welt gelesen werden kann; er enthält dein Passwort. (Alternativ kannst du sie weglassen und mutt wird dich jedes Mal nach dem Passwort fragen.)" :-)

Antworten:

38

Dieser Tweak sollte Ihr Problem loswerden. Verwenden Sie gpg wie vorgeschlagen oder

set imap_pass=`getpassword email_id`

Hier verwenden Sie pwsafe oder Kennwörter , um die Kennwörter abzurufen.

Bearbeiten: Wenn mutt mit IMAP-Unterstützung (--enable-imap) erstellt wurde, sollte mutt Sie zur Eingabe des Kennworts auffordern, wenn Sie es nicht in der Konfigurationsdatei festgelegt haben. Aus dem Handbuch:

imap_pass

Typ: Zeichenfolge Standard: ""

Gibt das Kennwort für Ihr IMAP-Konto an. Wenn nicht gesetzt, werden Sie von Mutt aufgefordert, Ihr Passwort einzugeben, wenn Sie die Funktion zum Abrufen von E-Mails aufrufen. Warnung: Sie sollten diese Option nur verwenden, wenn Sie sich auf einem relativ sicheren Computer befinden, da der Superuser Ihren Muttrc lesen kann, auch wenn Sie der einzige sind, der die Datei lesen kann.

Nagul
quelle
9
+1 Ich muss dich darum bitten. Sie müssen es nur einmal pro Sitzung eingeben.
David Mackintosh
2
Wenn Sie muttinnerhalb von ausführen tmux, kann Ihre Sitzung eine Weile dauern.
Chris W.
Was ist diese Funktion getpassword? Ich habe es nicht in meinem Ubuntu 14.04.3 LTS (GNU / Linux) Server. Ich denke sie sind pwsafeoder passwordsaber sollte ich sie benutzen? Ich möchte ohne Passwort in mein mutt-Konto eingeloggt werden, sobald ich am Server angemeldet bin, da das Passwort des Servers mit dem der E-Mail identisch ist.
Léo Léopold Hertz 준영
1
Sie können pass - passwordstore.org verwenden. Dieses Tool kann genauso verwendet werden, wie in der obigen Antwort beschrieben. Passwörter werden in einem Git-Repository gespeichert, das mit dem ausgewählten GPG-Schlüssel verschlüsselt ist.
Jakub Jindra
28

Erstellen Sie ein Passwort - Datei: ~/.mutt/passwords:

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

Diese Datei kann mit GPG verschlüsselt werden. Erstellen Sie zunächst ein öffentliches / privates Schlüsselpaar:

$ gpg --gen-key

Verschlüsseln Sie die Passwortdatei:

$ 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

Hinzufügen zu muttrc:

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

über

Siehe auch Arch Wikis Mutt- Eintrag.

DmitrySandalov
quelle
Soll der öffentliche Schlüssel in der Passwortdatei oder im Shell-Skript stehen? Ich denke, das Shell-Skript sollte in .muttrc sein. Ich bekomme nach dem Ausführen des Befehls gpg gpg: [email protected]: skipped: public key not found gpg: /u/77/masi/unix/.mutt/passwords: encryption failed: public key not found. Ich habe cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/known_hostses getan, aber es scheint nicht das Problem zu sein. Was mache ich falsch?
Léo Léopold Hertz 준영
1
Sie müssen einen GPG- (oder PGP-) Schlüssel haben, nicht Ihren öffentlichen SSH-Schlüssel. Weitere Informationen zu GPG-Schlüsseln finden Sie hier: fedoraproject.org/wiki/Creating_GPG_Keys und hier: help.ubuntu.com/community/GnuPrivacyGuardHowto
DmitrySandalov
1
Dies ist eine perfekte Lösung. Hier ist meine Konfigurationsdatei für alle, die sie als Referenz benötigen: github.com/shubhamchaudhary/dotfiles/blob/master/home/.muttrc
Shubham Chaudhary
Ich dachte, das wäre eine gute Lösung, aber dann habe ich :set imap_passmutt eingegeben und mein Passwort im Klartext angezeigt bekommen. Kann das vermieden werden? Wenn mutt nach dem IMAP-Passwort fragt, wird bei der Eingabe nicht das Kalendertext-Passwort angezeigt: set ...
eli
Haben Sie Ihren privaten GPG-Schlüssel ohne Passwort erstellt? Wenn nicht, gpg -dwäre ein Passwort erforderlich. Warum ein Passwort verwenden, um ein Passwort zu verschlüsseln, wenn das Ziel eine passwortlose Anmeldung ist ...
sdaffa23fdsf
3

Warum nicht einen Wallet Manager wie gnome-keyringoder kwalletmanagermit verwenden 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\" )" |'

Speichern Sie Ihre IMAP- und SMTP-Passwd:

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

Sie können Ihr eigenes Label wählen, wenn Sie möchten.

Suchen Sie Ihre Creds mit einer Muschel:

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

Starte deinen [neo] mutt, verbinde dich mit deinem imap srv und logge dich ein. Genießen.

Diese Lösung hat Vorteile gegenüber gpg-basierten Lösungen: Sie lässt sich gut integrieren und es bleibt keine zusätzliche Datei übrig.

Bonus: Die Verwendung libsecretoder direkt gnome-keyringals ein git credential-helperwie in git mit libsecret und git mit gnome-keyring . Beide Helfer müssen manuell kompiliert werden. Ja, es ist ein bisschen umständlich, aber es funktioniert großartig.

Gen.Stack
quelle
1

Aufgrund des Kommentars von ShreevatsaR möchte ich die Sicherheit hervorheben. Wenn Sie ein Passwort in $ HOME / .muttrc haben, machen Sie

chmod go-r $HOME/.muttrc

Ich denke jedoch, dass dies noch keine sichere Option ist. Sie sollten eine Methode verwenden, die Salt zum Speichern von Kennwörtern verwendet.

Léo Léopold Hertz 준영
quelle
0

Sie können das Kennwort aus einer unverschlüsselten Datei lesen.

Geben Sie das Passwort zum Beispiel ein in ~/secrets/mail_pass:

the_secret_mail_password

Dann

chmod 600 ~/secrets/mail_pass`

In deinem Muttrc:

# Read the password from a file and set it
set smtp_pass=`cat ~/secrets/mail_pass`
Matthias Braun
quelle
Es ist einfach viel einfacher chmod 600 ~/.muttrc.
dr01
Wenn Sie Ihre Passwörter behalten, können ~/.muttrcSie sie nicht veröffentlichen, indem Sie sie in GitLab usw. ablegen. Wenn Sie OfflineIMAP verwenden, wird auch das Passwort benötigt, und Sie können es auch aus der externen Passwortdatei lesen.
Matthias Braun