staging.inyokaproject.org

msmtp Syntax zur Einbindung eines gpg-verschlüsselten Passwortes

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 20.04 (Focal Fossa)
Antworten |

Karoly

Anmeldungsdatum:
22. März 2006

Beiträge: Zähle...

Hallo,

ich nutze mutt mit msmtp und imap, leider noch mit Passwörtern im Klartext. Das ist kein befriedigender Zustand auf dauer, und ich versuche, auf ein gpg-verschlüsseltes Passwort umzustellen. Ich habe ein Passwort erzeugt und unter ~/.mutt/password.gpg abgelegt. Nun wäre der nächste Schritt, das Passwort in msmtprc und in der Konfigdatei von imap mitzuteilen. Mit welcher Syntax mache ich das? Ich habe es folgendermaßen probiert:

1
passwordeval gpg2 --output ~/.mutt/password.gpg -c

Dabei kommt die Fehlermeldung:

Ausgabe des Auslieferungs-Prozesses (all) Fehler 78 beim Versand der Nachricht ().

Ebenso stellt sich mir die Frage, wie teile ich imap das verschlüsselte Passwort mit? Bisher hatte ich in der Konfigdatei von imap (via source in muttrc eingebunden) folgendermaßen das Passwort im Klartext stehen:

1
set imap_pass="kopfhundkragen"

klappte. Aber nirgendwo fand ich die Form, um ein verschlüsseltes Passwort einzubinden.

Ich wäre sehr dankbar für einen Tipp. Bin seit Tagen am Suchen...

Grüße Károly

tuxifreund Team-Icon

Projektleitung

Anmeldungsdatum:
7. November 2020

Beiträge: 1151

Hallo,

bei msmtp habe ich sowas nicht gemacht, weil ich msmtp nicht nutze, aber das ArchWiki hat dazu einen Abschnitt. Und in der Mutt-Konfiguration sollte das wie in Mutt beschrieben funktionieren.

LG
tuxifreund

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7529

Das Beispiel in der Manpage ist ja etwas anders:

passwordeval gpg2 --no-tty -q -d ~/.msmtp-password.gpg < /dev/null

Im Arch Wiki wird da noch mit "" gearbeitet, in der msmtp Manpage sehe ich das jetzt nicht, aber kann man ja probieren.

Ich benutze selbst msmtp, hab aber das Klartextpasswort in der Datei. Der Mailversand muss bei mir auch nicht-interaktiv funktionieren, damit smartmontools, mdadm, PHP-Scripte und so weiter alle ihre Mails verschicken können. Zusätzliche Passwortabfragen fallen damit weg.

Ich habe mir da so beholfen, daß msmtp einfach sein eigenes Mailkonto hat, das ausschließlich für den Versand genutzt wird. Das Passwort mit dem Mails empfangen werden, steht da somit gar nicht drin.

Karoly

(Themenstarter)

Anmeldungsdatum:
22. März 2006

Beiträge: 49

Hallo tuxifreund,

die beiden Links haben sehr geholfen. Allerdings musste ich den einen oder anderen Zwischenschritt mir anderweitig erschließen. Da ich annehme, dass es manchen ähnlich geht, hier meine Umsetzung:

Als erstes legte ich im Home-Verzeichnis ein neues Unterverzeichnis an und mountete dorthin ein virtuelles Laufwerk, um das Passwort nicht auf die Festplatte schreiben zu müssen. Das Verzeichnis hieß bei mir 000. Mehr zu virtuelles Laufwerk: https://wiki.ubuntuusers.de/RAM-Disk_erstellen/ Der Befehl dazu:

1
 sudo mount -t tmpfs -o size=5% none ~/000

Das musste mit sudo passieren, da die Option -o das verlagnte. Folglich war der Besitzer root. Der folgende Befehl machte mich zum Besitzer des Verzeichnisses

1
   sudo chown -R ich:ich 000

Nun legte ich im virtuellen Verzeichnis 000 eine Datei namens emailpwd an und schrieb mein Passwort für msmtp in Klartext hinein. Danach verschlüssele ich die Datei mit gpg

1
   gpg --default-recipient-self -e ~/000/emailpwd

und kopierte die verschlüsselte Datei an den Ort, an dem es msmtprc finden sollte.

Nun trug ich in die Konfigurationsdagei .msmtprc folgende Zeile ein, um das Passwort zu entschlüsseln und weiterzugeben:

1
passwordeval  "gpg --quiet --for-your-eyes-only --no-tty --decrypt /Pfad/zu/emailpwd.gpg" 

Danach konnte mutt über msmtp Mails versenden. Hurra!

Etwas anders lief es bei imap. Dort wird das Passwort beim Starten von mutt zunächat als Variable gesetzt. Der dazugehörige Befehl wird mit verschlüsselt. Also legte ich wieder im Ordner 000 eine Datei namens imappwd an in dem stand:

1
set my_pass = "password"

Danach verschlüsselte ich die Datei wie vorhin mit gpg und kopierte imappwd.gpg an seien endgültigen Speicherort. Sodann schrieb ich Folgenden Eintrag am Anfang der muttrc-Datei. Er lässt den verschlüsselten Befehl entschlüsseln und ausführen. Die Variable mit dem Passwort wird also gesetzt, gleich am Anfang, noch bevor Passworte abgerufen werden.

1
source "gpg -dq $HOME/pfad/zur/verschleusselten/datei/imappwd.gpg |"

Schließlich ließ ich in der Konfigurationsdatei von imap die Varaible abrufen:

1
set imap_pass=$my_pass

Damit klappte beides: Emails abrufen und versenden.

Vielen Dank für die Unterstützung.

Antworten |