SFTP mit SSH-Key in FileZilla einrichten: passwortlos und sicher

Ein SSH-Schlüssel ersetzt das Passwort und ist deutlich sicherer. So erzeugst du das Schlüsselpaar, hinterlegst es beim Hoster und richtest FileZilla darauf ein.

Kurzfassung

Schlüsselpaar mit ssh-keygen erzeugen, den öffentlichen Schlüssel beim Hoster hinterlegen, in FileZilla im Servermanager die Anmeldeart Schlüsseldatei wählen und den privaten Schlüssel auswählen. FileZilla konvertiert OpenSSH-Schlüssel bei Bedarf selbst.

Warum ein SSH-Key besser ist als ein Passwort

Ein Passwort kann erraten, abgefangen oder aus einer Datenbank geleakt werden. Ein SSH-Schlüssel besteht aus zwei Teilen: Der private Schlüssel bleibt auf deinem Rechner, der öffentliche liegt beim Server. Anmelden kann sich nur, wer den privaten Schlüssel besitzt. Brute-Force-Angriffe auf dein Passwort laufen damit ins Leere, und du musst dir nichts merken.

Voraussetzungen

  • SFTP- oder SSH-Zugang bei deinem Hoster. Bei vielen Shared-Hosting-Tarifen muss SSH im Kundenbereich aktiviert werden; bei manchen ist Key-Authentifizierung nur in höheren Tarifen möglich.
  • FileZilla Client in aktueller Version.
  • Ein Terminal: unter Windows die PowerShell oder Eingabeaufforderung (ab Windows 10 ist ssh-keygen enthalten), unter macOS und Linux das Terminal.

Schlüsselpaar erzeugen und beim Hoster hinterlegen

  1. Schlüssel erzeugen. Öffne das Terminal und gib ein: ssh-keygen -t ed25519 -C "filezilla". Bestätige den Speicherort mit Enter. Vergib eine Passphrase, die den privaten Schlüssel zusätzlich schützt. Es entstehen zwei Dateien: id_ed25519 (privat, niemals weitergeben) und id_ed25519.pub (öffentlich).
  2. Öffentlichen Schlüssel kopieren. Zeige ihn an mit cat ~/.ssh/id_ed25519.pub (macOS, Linux) oder type $env:USERPROFILE\.ssh\id_ed25519.pub (PowerShell). Die Zeile beginnt mit ssh-ed25519.
  3. Beim Hoster eintragen. Im Kundenbereich gibt es dafür meist einen Punkt wie SSH-Schlüssel, SSH-Keys oder Public Keys. Füge die Zeile ein und speichere. Alternativ auf einem eigenen Server: Zeile an ~/.ssh/authorized_keys des Benutzers anhängen.

FileZilla auf den Schlüssel einrichten

  1. Servermanager öffnen mit Strg+S und einen neuen Server anlegen oder den bestehenden SFTP-Eintrag wählen.
  2. Protokoll auf SFTP stellen und Server, Port 22 sowie den Benutzernamen eintragen.
  3. Anmeldeart „Schlüsseldatei“ wählen. Im Feld Schlüsseldatei klickst du auf Durchsuchen und wählst die private Datei id_ed25519. Stelle im Dateidialog den Filter auf Alle Dateien, sonst wird sie nicht angezeigt.
  4. Konvertierung bestätigen. FileZilla meldet, dass der Schlüssel nicht im unterstützten Format vorliegt, und bietet die Umwandlung an. Bestätige mit Ja, gib die Passphrase ein und speichere die neue .ppk-Datei. FileZilla trägt sie automatisch ein.
  5. Verbinden. Beim ersten Mal bestätigst du den Host-Key des Servers. Danach verbindet sich FileZilla ohne Passwortabfrage; hast du eine Passphrase gesetzt, fragt FileZilla einmal pro Sitzung danach.

Alternative: Schlüssel global hinterlegen

Statt pro Server kannst du Schlüssel auch zentral eintragen: Bearbeiten → Einstellungen → Verbindung → SFTP → Schlüsseldatei hinzufügen. FileZilla probiert diese Schlüssel dann bei jeder SFTP-Verbindung mit Anmeldeart Normal oder Interaktiv aus. Das ist praktisch, wenn du denselben Schlüssel bei mehreren Hostern nutzt.

Typische Fehler

Meldung Ursache Lösung
Authentifizierung fehlgeschlagen / Permission denied (publickey) Öffentlicher Schlüssel beim Hoster nicht hinterlegt oder falscher Benutzer Public Key im Kundenbereich prüfen, Benutzername kontrollieren
Schlüsseldatei wird im Dialog nicht angezeigt Dateifilter steht auf PPK Filter auf Alle Dateien stellen
Passphrase wird bei jedem Transfer abgefragt Mehrere Verbindungen parallel Im Servermanager → Übertragungseinstellungen auf 1 Verbindung begrenzen oder Passphrase im Konvertierungsdialog entfernen
Server akzeptiert nur RSA Alter Server ohne ed25519-Unterstützung Schlüssel mit ssh-keygen -t rsa -b 4096 erzeugen

Häufige Fragen

Muss ich den Schlüssel in PuTTY-Format umwandeln?

FileZilla erledigt das selbst, wenn du einen OpenSSH-Schlüssel auswählst. Du kannst die .ppk-Datei aber auch vorab mit PuTTYgen erzeugen.

Kann ich denselben Schlüssel auf mehreren Rechnern nutzen?

Technisch ja, sicherer ist ein eigener Schlüssel pro Rechner. Geht ein Gerät verloren, entfernst du nur dessen öffentlichen Schlüssel beim Hoster.

Funktioniert das auch mit FileZilla Pro?

Ja, identisch. FileZilla Pro ergänzt zusätzlich Cloud-Protokolle, die Key-Authentifizierung für SFTP ist in beiden Versionen gleich.