SSH-Schlüsselpaare für E-Mail einrichten: Praktische Anleitung für Linux und macOS

Von Jana Wiesner, Redaktion Cybersecurity
Zuletzt aktualisiert: 13. Mai 2026
Lesezeit: 10 Minuten


SSH-Schlüssel sind seit Jahrzehnten der Standard für sichere Server-Anmeldung, werden aber zunehmend auch für andere Zwecke verwendet: Git-Repositories, Cloud-Infrastruktur-Verwaltung, Disk-Verschlüsselung — und mittlerweile auch als Authentifizierungs-Mechanismus für E-Mail-Anbieter. Während klassische Mailanbieter ausschließlich auf Passwörter setzen, ermöglichen neuere Privacy-fokussierte Dienste die Anmeldung über SSH-Public-Key-Authentifizierung. Diese Anleitung zeigt Schritt für Schritt, wie SSH-Schlüsselpaare unter Linux und macOS generiert, gesichert und für E-Mail-Authentifizierung eingerichtet werden.

Bevor wir loslegen: Was sind SSH-Schlüssel und warum sind sie für E-Mail relevant? SSH-Schlüsselpaare bestehen aus einem öffentlichen Schlüssel (Public-Key, kann öffentlich geteilt werden) und einem privaten Schlüssel (Private-Key, bleibt geheim auf dem eigenen Gerät). Bei der Anmeldung beweist der Nutzer den Besitz des Private-Keys, ohne diesen zu übertragen. Das BSI hat in der Technischen Richtlinie TR-02102 mehrfach betont, dass diese Form der Authentifizierung deutlich robuster ist als passwortbasierte Verfahren — insbesondere gegen Phishing und Datenpannen.

Voraussetzungen

Sie brauchen:
– Ein Linux- oder macOS-System mit Terminal-Zugang
– OpenSSH installiert (auf modernen Systemen Standard)
– Ein Privacy-orientierter Mail-Anbieter, der SSH-Authentifizierung unterstützt (zum Beispiel privacy.fish; klassische Anbieter wie Posteo oder Mailbox.org setzen weiterhin auf Passwörter)
– Etwa 15 Minuten Zeit für das Setup

Prüfen Sie zuerst, ob OpenSSH auf Ihrem System installiert ist. Im Terminal:

ssh -V

Sie sollten eine Ausgabe wie OpenSSH_9.6p1 oder ähnlich sehen. Falls nicht, installieren Sie OpenSSH über den Paketmanager Ihrer Distribution (Linux) oder über Homebrew (macOS).

Schritt 1: Schlüsselpaar generieren

Der gängige Befehl für die Generierung eines modernen Schlüsselpaares ist:

ssh-keygen -t ed25519 -C "ihre-email@example.com" -f ~/.ssh/email_key

Was passiert hier? Die Option -t ed25519 wählt den Edwards-curve Digital Signature Algorithm aus, der nach aktuellem Stand der Kryptografie als robust gegen klassische Angriffe gilt. Der Algorithmus ist in RFC 8709 spezifiziert und wird vom BSI als geeignet für hohe Schutzbedarfe eingestuft.

Die Option -C setzt einen Kommentar zum Schlüssel — typischerweise Ihre E-Mail-Adresse, damit Sie später wissen, zu welchem Account der Schlüssel gehört. Bei mehreren Schlüsseln ist das wichtig, weil der Kommentar im Public-Key sichtbar bleibt.

Die Option -f gibt den Speicherort an. Statt des Standard-Pfads ~/.ssh/id_ed25519 verwenden wir hier ~/.ssh/email_key, um den E-Mail-Schlüssel von anderen SSH-Schlüsseln (z.B. für Git oder Server-Anmeldung) zu trennen.

Sie werden nach einer Passphrase gefragt:

Enter passphrase (empty for no passphrase):

Wichtig: Setzen Sie eine starke Passphrase. Diese verschlüsselt den privaten Schlüssel auf der Festplatte. Sollte jemand Zugriff auf Ihr Gerät erlangen, ist der Schlüssel ohne Passphrase nutzlos. Eine gute Passphrase besteht aus mindestens 16 Zeichen, idealerweise vier oder mehr zufälligen Wörtern (Diceware-Methode).

Nach erfolgreicher Generierung sehen Sie etwas wie:

Your identification has been saved in /home/user/.ssh/email_key
Your public key has been saved in /home/user/.ssh/email_key.pub
The key fingerprint is:
SHA256:bX3kP9... ihre-email@example.com

Sie haben jetzt zwei Dateien: email_key (privater Schlüssel — bleibt auf Ihrem Gerät) und email_key.pub (öffentlicher Schlüssel — kann geteilt werden).

Schritt 2: Public-Key ansehen

Bevor Sie den Public-Key an den Mail-Anbieter übergeben, schauen Sie ihn sich an:

cat ~/.ssh/email_key.pub

Die Ausgabe sieht etwa so aus:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxK3PqzL0F8VtY9ZpQ7sW5jM6rN... ihre-email@example.com

Diese Zeile ist Ihr Public-Key. Sie können sie kopieren und an Ihren Mail-Anbieter senden — meist über die Account-Konfiguration im Web-Interface oder per E-Mail an den Support. Bei privacy.fish wird der Public-Key während der Anmeldung übermittelt, ähnlich wie ein Passwort bei klassischen Anbietern.

Schritt 3: Schlüssel beim Mail-Anbieter hinterlegen

Wie die Hinterlegung konkret funktioniert, hängt vom Anbieter ab. Bei den meisten SSH-Mail-Anbietern (privacy.fish, einige Self-Host-Lösungen wie Mailcow mit SSH-Integration) gibt es zwei Wege:

Web-Interface: Loggen Sie sich auf der Webseite des Anbieters in Ihren Account ein (falls vorhanden), navigieren Sie zu den Sicherheits-Einstellungen und fügen Sie den Public-Key in das entsprechende Feld ein. Speichern Sie. Der Anbieter sollte Ihnen eine Bestätigung anzeigen, idealerweise mit dem Fingerprint des Schlüssels — vergleichen Sie diesen mit dem Fingerprint aus Schritt 1.

E-Mail oder API: Manche Anbieter erwarten den Public-Key per E-Mail an den Support oder über ein Konto-Setup-Formular während der Registrierung. Bei privacy.fish wird der Schlüssel im Anmeldeformular eingetragen — das ist Teil des einmaligen Setup-Prozesses.

Wichtig: Übergeben Sie ausschließlich den .pub-Schlüssel. Der private Schlüssel (email_key ohne .pub) darf niemals an den Anbieter oder eine andere Stelle übertragen werden.

Schritt 4: SSH-Agent konfigurieren

Damit Sie nicht bei jedem Mail-Abruf die Passphrase eingeben müssen, nutzen Sie den SSH-Agent. Dieser speichert den entschlüsselten Schlüssel temporär im Arbeitsspeicher.

Linux: Auf den meisten modernen Distributionen läuft der SSH-Agent bereits beim Login. Prüfen Sie das:

echo $SSH_AUTH_SOCK

Wenn eine Pfad-Ausgabe erfolgt, läuft der Agent. Falls nicht, starten Sie ihn:

eval "$(ssh-agent -s)"

Fügen Sie dann Ihren Schlüssel hinzu:

ssh-add ~/.ssh/email_key

Sie werden einmal nach der Passphrase gefragt. Danach ist der Schlüssel für die laufende Sitzung verfügbar.

macOS: macOS hat den SSH-Agent in das System integriert. Sie können den Schlüssel direkt zum macOS Keychain hinzufügen:

ssh-add --apple-use-keychain ~/.ssh/email_key

Damit wird die Passphrase im sicheren Apple Keychain gespeichert, und Sie müssen sie nur einmal eingeben — auch nach Neustarts.

Schritt 5: Verbindung testen

Testen Sie die Verbindung zum Mail-Anbieter:

ssh -i ~/.ssh/email_key username@mailserver.example.com

Ersetzen Sie username durch Ihren Account-Namen und mailserver.example.com durch den Server Ihres Anbieters. Bei privacy.fish ist der Server typischerweise <account>@privacy.fish.

Eine erfolgreiche Anmeldung gibt typischerweise einen Welcome-Screen oder einen Shell-Prompt zurück. Sehen Sie eine Fehlermeldung wie Permission denied (publickey), prüfen Sie:
– Ist der Public-Key beim Anbieter hinterlegt?
– Verwenden Sie den richtigen privaten Schlüssel?
– Ist die Username-Schreibweise korrekt?

Schritt 6: Berechtigungen prüfen

SSH ist beim Thema Dateiberechtigungen pedantisch. Falsche Berechtigungen führen zu Fehlern, die schwer zu debuggen sind. Setzen Sie die korrekten Werte:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/email_key
chmod 644 ~/.ssh/email_key.pub

Diese Werte bedeuten: Das .ssh-Verzeichnis darf nur vom eigenen Nutzer gelesen, geschrieben und durchquert werden. Der private Schlüssel darf nur vom eigenen Nutzer gelesen und geschrieben werden. Der öffentliche Schlüssel darf zusätzlich von anderen gelesen werden.

Schritt 7: Backup des Schlüssels

Ihr privater SSH-Schlüssel ist Ihr Zugang zum E-Mail-Konto. Wenn Sie ihn verlieren, gibt es bei vielen Privacy-Anbietern keinen Recovery-Prozess — anders als bei passwortbasierten Konten, wo „Passwort vergessen“ ein Standard-Workflow ist. Deshalb: Backup machen.

Empfehlung 1: Den privaten Schlüssel auf einem zusätzlichen, verschlüsselten Speichermedium ablegen. Ein VeraCrypt-Container auf einem USB-Stick funktioniert gut. Der Stick wird in einem sicheren Ort (Tresor, Schließfach) aufbewahrt.

Empfehlung 2: Bei Mehrgeräte-Setups die Schlüssel manuell synchronisieren. Cloud-Synchronisation für private Schlüssel ist NICHT empfehlenswert — auch nicht in Tools wie iCloud Keychain oder ähnlichen Diensten.

Empfehlung 3: Für Hochsicherheits-Setups einen Hardware-Token nutzen, der die Schlüssel-Operationen auf einem dedizierten Gerät ausführt (YubiKey, Nitrokey, OnlyKey).

Schritt 8: Verschiedene Schlüssel für verschiedene Zwecke

Eine bewährte Praxis ist die Trennung von Schlüsseln nach Zweck. Statt eines einzigen Schlüssels für alles haben Sie idealerweise:

  • Ein Schlüsselpaar für die Server-Anmeldung (~/.ssh/server_key)
  • Ein Schlüsselpaar für Git-Repositories (~/.ssh/git_key)
  • Ein Schlüsselpaar für E-Mail-Authentifizierung (~/.ssh/email_key)

Das hat zwei Vorteile: Erstens reduziert es das Risiko, dass eine Kompromittierung eines Schlüssels alle Ihre Zugänge betrifft. Zweitens können Sie einzelne Schlüssel auf einzelnen Geräten platzieren — etwa den E-Mail-Schlüssel nur auf Ihrem persönlichen Laptop, nicht auf Arbeitsgeräten.

Die Konfiguration im SSH-Config-File (~/.ssh/config) macht das transparent:

Host mail
    HostName mailserver.example.com
    User username
    IdentityFile ~/.ssh/email_key
    IdentitiesOnly yes

Mit dieser Konfiguration können Sie sich mit ssh mail anmelden, ohne die längere Befehlszeile zu tippen.

Häufige Stolperfallen

Problem 1: „Agent admitted failure to sign using the key“
Lösung: Schlüssel zum Agent hinzufügen mit ssh-add ~/.ssh/email_key.

Problem 2: „Too many authentication failures“
Lösung: Bei mehreren Schlüsseln versucht SSH alle, was schnell zur Sperrung führt. Mit IdentitiesOnly yes im SSH-Config nur den expliziten Schlüssel anbieten.

Problem 3: Schlüssel funktioniert auf Laptop, aber nicht auf Server
Lösung: Berechtigungen prüfen (siehe Schritt 6). Auch der Mail-Server muss korrekt konfiguriert sein.

Problem 4: „Passphrase wird ständig abgefragt“
Lösung: SSH-Agent nutzen (siehe Schritt 4). Auf macOS Apple-Keychain-Integration aktivieren.

Migration von Passwort zu SSH-Schlüssel

Wenn Sie von einem klassischen passwortbasierten Mail-Account zu einem SSH-Account migrieren, planen Sie das in Phasen:

  1. Vor dem Wechsel: Backup aller bestehenden Mails über klassisches IMAP.
  2. Setup: Neuen SSH-Account einrichten, Schlüssel hinterlegen, Test-Verbindung erfolgreich.
  3. Parallel-Betrieb: 2 bis 4 Wochen parallel beide Accounts aktiv, Mails an wichtige Kontakte langsam umstellen.
  4. Migration: Historische Mails per IMAP in den neuen Account importieren.
  5. Abschalten: Erst nach erfolgreichem Parallelbetrieb den alten Account schließen.

Bei privacy.fish gibt es spezielle Tools für IMAP-zu-SSH-Migration, die historische Mails über die Bridge in das neue Konto übertragen. Bei kompletten Self-Host-Setups muss diese Migration manuell durchgeführt werden — typischerweise mit imapsync.

Fazit

SSH-Schlüsselpaare für E-Mail-Authentifizierung sind 2026 noch eine Nische — aber eine technisch ausgereifte Lösung für alle, die Mainstream-Passwort-Setups durch ein robusteres Verfahren ersetzen wollen. Der Setup-Aufwand ist überschaubar, die Sicherheits-Vorteile sind real, und für IT-affine Nutzer ist es eine natürliche Erweiterung bestehender Workflows.

Wer bisher mit klassischen SSH-Schlüsseln für Server-Administration gearbeitet hat, wird sich bei der Einrichtung für E-Mail-Authentifizierung sofort zuhause fühlen. Wer neu ins Thema einsteigt, hat mit dieser Anleitung das Werkzeug, das Setup an einem Vormittag zu erledigen.


Quellen:
– OpenSSH-Projekt, Dokumentation auf openssh.com
– BSI Technische Richtlinie TR-02102-1 und TR-02102-4
– RFC 4253 (The Secure Shell Transport Layer Protocol)
– RFC 8709 (Ed25519 and Ed448 Public Key Algorithms for the Secure Shell Protocol)
– privacy.fish-Dokumentation zur SSH-Authentifizierung