[gelöst] msmtp: Passwörter mehrerer Accounts verbergen

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

[gelöst] msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von bumer » 13.04.2015 19:39:59

Hallo,

Benutze mutt in Verbindung mit msmtp mit mehreren Accounts. In der .muttrc habe ich es soweit hinbekommen die verschlüsselten Passwörter als Variablen einspielen zu lassen:

Code: Alles auswählen

source "gpg -dq ~/.passwörter.gpg |"
Jeder Account erhält somit sein Passwort zugewiesen.

Das Problem:
Ich nutze auch mehrere smtp-Postausgangsserver, die in .msmtp hinterlegt sind. Wie kann ich deren Passwörter verbergen und entsprechend gezielt freischalten?

Folgendes habe ich bisher versucht:
set smtp_url="smtp://login@smtp.googlemail.com:587/"
set smtp_pass=$variable_aus_passwörter.gpg
Funkt nicht.
set my_msmtp_pass=$variable_aus_passwörter.gpg
Funkt auch nicht.

Hier https://wiki.archlinux.org/index.php/Ms ... management wird nur von einem Account ausgegangen, die Variante habe ich darum nicht ausprobiert.

Ich möchte einfach nicht, dass die Passwörter in Plain-Text in .msmtp hinterlegt sind. Wie macht ihr das?

Viele Grüße,
bumer
Zuletzt geändert von bumer am 14.04.2015 18:28:36, insgesamt 1-mal geändert.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von novalix » 13.04.2015 22:53:05

Code: Alles auswählen

chmod 0600 ~/.msmtprc
ist alles was ich dazu beitragen kann. Ist nicht gerade die Bank of England. Aber wenn jemand sich Leserechte auf meinem Account ergattert, habe ich wahrscheinlich noch ärgere Probleme als das leaken meiner Mailpasswörter.
Laut man page kann man auch irgendwas mit Gnome Keyring drehen. Habe ich aber keine Ahnung von.

Edit:
Habe die man page noch ein weinig weiter gelesen 8O
Anscheinend gibt es auch die Option "passwordeval". Kannte ich noch gar nicht.

Code: Alles auswählen

# The SMTP server of the provider.
       account provider
       host mail.provider.example
       from smithjoe@provider.example
       auth on
       user 123456789
       passwordeval gpg -d ~/.msmtp.password.gpg
Ich bin hier übrigens auf Jessie.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
TRex
Moderator
Beiträge: 8399
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von TRex » 14.04.2015 07:54:08

Code: Alles auswählen

"$gpgfoo | sed -n 2p |"
Ersetze 2 mit der gewollten Zeile.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von bumer » 14.04.2015 10:41:26

Bezüglich passwordeval:

Variante 1: Hinterlege ich
passwordeval gpg -dq ~/.passwort.gpg
funktionierts nur, wenn ich msmtp ohne mutt aufrufe. Mit mutt: Keine Authentifizierung verfügbar.
Variante 2: Ich hinterlege in .muttrc folgendes:
set sendmail="/usr/bin/msmtp --passwordeval 'gpg -d ~/.passwort.gpg'"
Keine Authentifizierung verfügbar, würde aber sowieso nur mit einem Account funktionieren.
Variante 3 (hat nichts mit passwordeval zu tun):
set my_msmtp_pass=`gpg -d ~/.passwort.gpg`
Keine Authentifizierung verfügbar, würde aber sowieso nur mit einem Account funktionieren.
TRex hat geschrieben:

Code: Alles auswählen

"$gpgfoo | sed -n 2p |"
Ersetze 2 mit der gewollten Zeile.
Da ich in .msmtprc keine Variablen hinterlegen kann und auch keine gpg-Datei öffnen kann, würde ich dich bitten etwas näher darauf einzugehen.
Meinst du damit ich soll die gpg-Datei via .muttrc öffnen und die Werte dann msmtp übergeben? Das habe ich schon mit
set my_msmtp_pass=$variable_mit_passwörtern.gpg
versucht. Es geht nicht.

Danke im Voraus.

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von bumer » 14.04.2015 12:11:48

set my_msmtp_pass=$variable_mit_passwörtern.gpg
ist eine persönliche Variable, keine mutt-Variable, merk' ich gerade.
Die Frage bleibt: Wie kann ich msmtp über mutt bei mehreren Postausgangsservern das verschlüsselte Passwort des jeweiligen Accounts übergeben... :?:

Benutzeravatar
TRex
Moderator
Beiträge: 8399
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von TRex » 14.04.2015 13:28:40

Ich kenne msmtp auch nicht so wirklich gut, aber ich nehme an, dass sowas funktionieren könnte:

Code: Alles auswählen

    # The SMTP server of the provider A.
           account provider
           host mail.provider.example
           from smithjoe@provider.example
           auth on
           user 123456789
           passwordeval gpg -d ~/.msmtp.password.gpg | sed -n 1p # zeile 1

    # The SMTP server of the provider B.
           account provider
           host mail.provider.example
           from smithjoe@provider.example
           auth on
           user 123456789
           passwordeval gpg -d ~/.msmtp.password.gpg | sed -n 2p # zeile 2

Wenn das mit den pipes hier nicht funktioniert, hilft es vielleicht, den Befehl in ein Shellscript zu verpacken.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von bumer » 14.04.2015 14:03:48

TRex hat geschrieben:Ich kenne msmtp auch nicht so wirklich gut, aber ich nehme an, dass sowas funktionieren könnte:

Code: Alles auswählen

    # The SMTP server of the provider A.
           account provider
           host mail.provider.example
           from smithjoe@provider.example
           auth on
           user 123456789
           passwordeval gpg -d ~/.msmtp.password.gpg | sed -n 1p # zeile 1

    # The SMTP server of the provider B.
           account provider
           host mail.provider.example
           from smithjoe@provider.example
           auth on
           user 123456789
           passwordeval gpg -d ~/.msmtp.password.gpg | sed -n 2p # zeile 2

Das hatte ich schon versucht. Grundsätzlich funktioniert diese Variante, nur nicht im Zusammenspiel mit mutt.

Ich würde ja gerne den in mutt integrierten smtp-Postausgangsserver nutzen, nur kriege ich andauernd eine der folgenden Fehlermeldungen:
- Keine Authentifizierung verfügbar
- gnutls_handshake: An unexpected TLS packet was received.
Bezüglich des zweiten Fehlers wird geraten, mutt neu zu kompilieren und mit openssl anstatt mit gnutls zu bauen. Hab' aber echt kein Bock drauf...

Also hätte ich gewusst was für ein Stress es bedeutet mutt zu konfigurieren, hätte ich die Finger von gelassen. Jetzt ist die Sache aber zu fortgeschritten...

Könntet Ihr mal bitte sagen wie Ihr das macht mit dem Email-Versand über mutt?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von Cae » 14.04.2015 17:06:01

bumer hat geschrieben:Könntet Ihr mal bitte sagen wie Ihr das macht mit dem Email-Versand über mutt?
Ich hab' getrennte Instanzen fuer jedes Konto. Mutt skaliert leider sehr bescheiden, was mehrere Postfaecher oder Accounts angeht.

Generell koennte es einfacher sein, grundsaetzlich den lokalen (echten) MTA zu verwenden, welcher dann per smtp_sasl_password_maps (fuer Postfix) sich um den Versand kuemmert?

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von novalix » 14.04.2015 18:09:24

Also ich binde die verschiedenen Konten per folder-hooks in der .muttrc ein:

Code: Alles auswählen

folder-hook example1/* source ~/.Mutt/example1.muttrc
folder-hook example2/*  source ~/.Mutt/example2.muttrc
~/.Mutt/example1.muttrc:

Code: Alles auswählen

color status cyan default

set record= +example1/INBOX.sent
set postponed= +example1/INBOX.Drafts

set sendmail="/usr/bin/msmtp -a example1"

set realname="novalix"
set from="\"novalix\" <novalix@example1.net>"
set use_envelope_from=yes
....
Ich nutze mutt-patched mit der Sidebar, da macht die Farbe Sinn.
Man kann sich für die einzelnen Versandmethoden auch (zusätzlich) Macros anlegen:

Code: Alles auswählen

macro generic "<esc>2" ":set sendmail=\"/usr/bin/msmtp -a example2\""
macro generic "<esc>4" ":set from=novalix@example2.de"
Hoffe das hilft, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: msmtp: Passwörter mehrerer Accounts verbergen

Beitrag von bumer » 14.04.2015 18:26:09

Habs jetzt hinbekommen, ohne msmtp und zwar mit dem mutt-internen smtp-Tool. Das Problem bis jetzt war, dass mutt-smtp nicht funktioniert hat, egal welche Einstellungen ich vorgenommen habe, hab' mich echt dumm und dämlich gesucht um den Fehler zu finden... letztendlich habe diese Seite entdeckt:

http://askubuntu.com/questions/199057/m ... d-length-w

Hier ist die Rede davon, dass per Voreinstellung GNUTLS genutzt wird - sollte aber nicht so sein: OpenSSL ist die bessere Wahl.
Also habe ich mutt-1.5.23.tar.gz heruntergeladen, und die folgenden Optionen für's Compiling eingegeben:

Code: Alles auswählen

./configure --enable-pop --enable-imap --enable-smtp --with-ssl --enable-hcache --with-gss --with-sasl --enable-debug --enable-gpgme
Siehe da, das mutt-interne smtp-Tool funktioniert einwandfrei - jetzt brauche ich msmtp nicht mehr und muss dementsprechend auch keine Passwörter verstecken. Die smtp-Passwörter sind die gleichen, die ich im Header von .muttrc aufrufe:

Code: Alles auswählen

source "gpg -dq ~/.meine_passwörter.gpg |"
Problem gelöst.

mutt ist schon heftig und ich bin immer noch nicht fertig...

Antworten