SSH und SFTP: Sicherer Zugriff auf den Webspace
Warum FTP ausgedient hat, wie Sie SFTP im Client einrichten, SSH-Schlüssel statt Passwörtern nutzen und den Zugang auf eigenen Servern härten.
Für den Dateizugriff auf Ihren Webspace sollten Sie SFTP nutzen, nicht klassisches FTP. SFTP läuft über eine verschlüsselte SSH-Verbindung, schützt Zugangsdaten und Dateien vor dem Mitlesen und lässt sich in jedem gängigen Dateiübertragungsprogramm einrichten. Wenn Ihr Tarif es erlaubt, öffnet SSH zusätzlich eine Kommandozeile auf dem Server, mit der Sie Werkzeuge wie WP-CLI, Composer oder Git nutzen. Diese Anleitung zeigt beides, vom ersten Login bis zur Absicherung auf eigenen Servern. Den Überblick über Server-Optionen finden Sie unter VPS und eigene Server.
FTP, FTPS, SFTP und SSH: Was ist was?
| Protokoll | Verschlüsselt | Typischer Port | Einsatz |
|---|---|---|---|
| FTP | Nein, Passwort im Klartext | 21 | Veraltet, nur noch für Altsysteme |
| FTPS | Ja, FTP mit TLS | 21 bzw. 990, plus Datenports | Wenn kein SSH verfügbar ist |
| SFTP | Ja, über SSH | 22 | Standard für Dateiübertragung |
| SSH | Ja | 22 | Kommandozeile auf dem Server, Tunnel, Git |
Bei unverschlüsseltem FTP können Zugangsdaten in offenen WLANs oder auf kompromittierten Netzwerkgeräten mitgelesen werden. Gestohlene FTP-Passwörter sind seit Jahren ein bekannter Weg, Schadcode auf Websites zu bringen. Bietet Ihr Hoster nur FTP ohne Verschlüsselung an, ist das ein deutliches Warnsignal.
SFTP im Shared Hosting einrichten
Die Zugangsdaten finden Sie im Kundenmenü, meist unter Bezeichnungen wie „FTP-Zugänge“, „SSH/SFTP“ oder „Zugangsdaten“. Sie brauchen:
- Server (Host): ein Hostname des Anbieters oder Ihre Domain
- Port: meist 22, manche Anbieter nutzen einen abweichenden Port
- Benutzername: oft eine Kundennummer oder ein selbst angelegter Zusatzbenutzer
- Passwort oder Schlüssel: je nach Einstellung
- Protokoll: im Client ausdrücklich SFTP wählen
Schritt für Schritt im Client
- Installieren Sie einen SFTP-fähigen Client. Verbreitet sind FileZilla und WinSCP unter Windows, Cyberduck unter macOS und Windows. Viele Code-Editoren können SFTP über Erweiterungen.
- Legen Sie im Servermanager des Clients eine neue Verbindung an und wählen Sie als Protokoll SFTP.
- Tragen Sie Host, Port und Benutzernamen ein. Speichern Sie das Passwort nur, wenn Ihr Rechner verschlüsselt und geschützt ist.
- Beim ersten Verbinden zeigt der Client den Fingerabdruck des Servers. Vergleichen Sie ihn, wenn möglich, mit der Angabe Ihres Hosters und bestätigen Sie erst dann.
- Nach dem Login sehen Sie das Stammverzeichnis Ihres Kontos. Die Website liegt meist in einem Unterordner, dessen Name im Kundenmenü als Dokumentenverzeichnis steht.
Zusätzliche Benutzer anlegen
Geben Sie nicht die Hauptzugangsdaten weiter, wenn eine Agentur oder ein Entwickler Zugriff braucht. Die meisten Hoster erlauben zusätzliche SFTP-Benutzer, die auf ein bestimmtes Verzeichnis beschränkt sind. Entfernen Sie diese Zugänge, sobald die Arbeit erledigt ist.
SSH-Schlüssel erzeugen und hinterlegen
Ein SSH-Schlüsselpaar besteht aus einem privaten Schlüssel, der auf Ihrem Rechner bleibt, und einem öffentlichen Schlüssel, den Sie beim Server hinterlegen. Unter macOS, Linux und aktuellen Windows-Versionen erzeugen Sie es im Terminal:
ssh-keygen -t ed25519 -C "laptop-buero"
Der Befehl fragt nach einem Speicherort und einer Passphrase. Vergeben Sie eine Passphrase, damit ein gestohlener Schlüssel allein nicht reicht. Anschließend liegen zwei Dateien im Ordner .ssh Ihres Benutzerverzeichnisses: id_ed25519 (privat, niemals weitergeben) und id_ed25519.pub (öffentlich).
Den öffentlichen Schlüssel hinterlegen Sie auf einem von zwei Wegen:
- Im Kundenmenü des Hosters: Viele Anbieter haben ein Feld für SSH-Schlüssel. Fügen Sie dort den Inhalt der
.pub-Datei ein. - Auf dem eigenen Server: mit
ssh-copy-id benutzer@serveroder durch Eintragen in die Datei~/.ssh/authorized_keysdes Benutzers.
Danach melden Sie sich ohne Passwort an:
ssh [email protected]
Für häufig genutzte Server lohnt ein Eintrag in der Datei ~/.ssh/config mit Hostname, Benutzer, Port und Schlüssel. Dann genügt ein kurzer Name wie ssh kunde-live.
Was Sie mit SSH auf dem Webspace erledigen
Eine Kommandozeile auf dem Server spart bei vielen Aufgaben Zeit und Fehler:
| Aufgabe | Beispiel | Vorteil gegenüber Oberfläche |
|---|---|---|
| Große Dateien packen und entpacken | tar -czf backup.tar.gz public_html |
Kein Upload tausender Einzeldateien |
| Datenbank sichern | mysqldump mit Zugangsdaten aus dem Kundenmenü |
Funktioniert auch bei großen Datenbanken |
| WordPress verwalten | wp plugin update --all mit WP-CLI |
Updates und Suchen-Ersetzen in der Datenbank |
| Abhängigkeiten installieren | composer install |
Für moderne PHP-Anwendungen nötig |
| Deployment | git pull im Projektordner |
Nachvollziehbare Versionen statt Hochladen per Hand |
| Fehlersuche | tail -f auf die Fehlerlogs |
Fehler live verfolgen |
Ob diese Werkzeuge verfügbar sind, hängt vom Hoster ab. Im Shared Hosting läuft SSH meist in einer eingeschränkten Umgebung ohne Root-Rechte. Für Tests von Updates vor dem Livegang eignet sich eine Kopie der Website, mehr dazu im Ratgeber zur Staging-Umgebung.
SSH auf dem eigenen Server absichern
Auf einem VPS oder Root-Server ist der SSH-Dienst eines der ersten Ziele automatisierter Angriffe. Schon kurz nach der Bereitstellung tauchen in den Logs Anmeldeversuche mit gängigen Benutzernamen und Passwörtern auf. Diese Einstellungen sind Standard:
- Eigenen Benutzer mit sudo-Rechten anlegen und den öffentlichen Schlüssel hinterlegen
- Anmeldung mit Schlüssel testen, bevor Passwörter abgeschaltet werden
- In der Datei
/etc/ssh/sshd_configdie Passwort-Anmeldung deaktivieren (PasswordAuthentication no) - Direkten Root-Login unterbinden (
PermitRootLogin no) - Firewall aktivieren und nur benötigte Ports öffnen
- Wiederholte Fehlversuche automatisch sperren, etwa mit fail2ban
- Betriebssystem und OpenSSH aktuell halten, automatische Sicherheitsupdates einschalten
- Zugänge ehemaliger Mitarbeiter und Dienstleister sofort entfernen
Wichtig: Lassen Sie beim Ändern der SSH-Konfiguration eine bestehende Sitzung offen und testen Sie die neue Anmeldung in einem zweiten Fenster. So sperren Sie sich bei einem Tippfehler nicht aus. Viele Anbieter bieten zusätzlich eine Notfallkonsole im Kundenmenü, über die Sie auch ohne SSH auf den Server kommen. Weitere Schutzmaßnahmen für Server und Websites bündelt die Seite Hosting-Sicherheit.
Dateirechte richtig setzen
Nach dem Hochladen per SFTP sollten Dateien und Ordner passende Rechte haben. Als grobe Orientierung auf Linux-Servern gilt für viele PHP-Anwendungen:
| Objekt | Übliche Rechte | Bedeutung |
|---|---|---|
| Ordner | 755 | Besitzer darf schreiben, alle dürfen lesen und öffnen |
| Dateien | 644 | Besitzer darf schreiben, alle dürfen lesen |
| Konfigurationsdateien mit Zugangsdaten | 600 oder 640 | Nur Besitzer (und ggf. Gruppe) darf lesen |
Rechte wie 777, also Schreibzugriff für alle, sind fast nie nötig und ein Risiko. Welche Werte genau passen, hängt davon ab, unter welchem Benutzer PHP läuft. Die Dokumentation Ihrer Anwendung und Ihres Hosters nennt die empfohlenen Einstellungen.
Typische Fehler und ihre Ursachen
- „Connection refused“: Falscher Port, SSH im Tarif nicht aktiviert oder Firewall blockiert.
- „Permission denied (publickey)“: Schlüssel nicht hinterlegt, falscher Benutzer oder der Client bietet einen anderen Schlüssel an.
- „Host key verification failed“: Der Fingerabdruck des Servers hat sich geändert. Nach einem Server-Umzug ist das normal; ohne bekannten Grund sollten Sie nachfragen, bevor Sie den alten Eintrag löschen.
- Hochgeladene Dateien erscheinen nicht: Falsches Verzeichnis, etwa außerhalb des Dokumentenverzeichnisses, oder ein Cache liefert noch die alte Version.
- Verbindung bricht ab: Zeitüberschreitung bei Inaktivität. Im Client lässt sich ein Keep-Alive-Intervall einstellen.
SFTP im Arbeitsalltag: Editor, Git und Automatisierung
Wer regelmäßig an einer Website arbeitet, muss Dateien nicht jedes Mal von Hand hochladen. Viele Code-Editoren öffnen Dateien direkt über SFTP und speichern Änderungen auf dem Server. Das ist bequem, aber riskant, weil jeder Tippfehler sofort live ist. Sicherer ist ein Ablauf, bei dem Sie lokal oder auf einer Testkopie arbeiten und Änderungen gebündelt übertragen.
Dafür bieten sich zwei Wege an. Mit rsync über SSH übertragen Sie nur geänderte Dateien und können mit der Option für einen Probelauf vorher sehen, was passieren würde. Mit Git liegt der Code in einem Repository, und auf dem Server holen Sie per git pull eine geprüfte Version. Automatisierte Deployments aus einem Build-System nutzen dafür einen eigenen SSH-Schlüssel, der nur diese eine Aufgabe erfüllen darf. Legen Sie für solche Schlüssel einen eigenen Benutzer mit minimalen Rechten an, statt den Zugang Ihres Administratorkontos zu verwenden.
Fazit
SFTP ist der Standard für den Dateizugriff auf Webspace und Server, unverschlüsseltes FTP hat ausgedient. Mit SSH-Schlüsseln statt Passwörtern, eigenen Zugängen für Dienstleister und einer gehärteten SSH-Konfiguration auf eigenen Servern schließen Sie eines der häufigsten Einfallstore. Wer SSH im Tarif nutzen kann, gewinnt mit Werkzeugen wie Git, Composer und WP-CLI zudem deutlich an Tempo und Nachvollziehbarkeit.
Fragen und Antworten
- Was ist der Unterschied zwischen SFTP und FTPS?
- SFTP ist ein eigenes Protokoll, das über SSH läuft und nur einen Port braucht. FTPS ist klassisches FTP mit zusätzlicher TLS-Verschlüsselung und nutzt mehrere Ports. Beide verschlüsseln die Übertragung. SFTP ist auf Servern mit SSH meist einfacher einzurichten und in Firewalls unkomplizierter.
- Warum funktioniert meine SFTP-Verbindung nicht?
- Häufige Ursachen sind ein falscher Port, ein FTP-Benutzer, der kein SFTP darf, ein nicht freigeschalteter SSH-Zugang im Tarif, eine Firewall, die Ihre IP-Adresse blockiert, oder ein Schlüssel im falschen Format. Prüfen Sie die Zugangsdaten im Kundenmenü und die Fehlermeldung im Protokoll des Clients.
- Ist ein SSH-Schlüssel sicherer als ein Passwort?
- Ja. Ein Schlüssel lässt sich praktisch nicht erraten, und der private Teil verlässt Ihren Rechner nie. Schützen Sie den privaten Schlüssel zusätzlich mit einer Passphrase und legen Sie für jedes Gerät einen eigenen Schlüssel an, damit Sie verlorene Geräte gezielt sperren können.
- Sollte ich den SSH-Port 22 ändern?
- Ein anderer Port reduziert automatisierte Anmeldeversuche in den Logs, ist aber kein Sicherheitsgewinn an sich. Wichtiger sind Anmeldung nur mit Schlüssel, kein direkter Root-Login, aktuelle Software und eine Sperre wiederholter Fehlversuche.
Weiterlesen
- Hosting-Sicherheit
Welche Schutzmaßnahmen ein guter Hoster mitbringt, welche Aufgaben bei Ihnen bleiben und eine Checkliste für den sicheren Betrieb Ihrer Website.
- Control Panels im Vergleich
Was ein Control Panel leistet, wo sich Plesk und cPanel unterscheiden, welche freien Alternativen es gibt und wann Sie ganz ohne Oberfläche besser fahren.
- Staging-Umgebung
Drei Wege zur Testkopie, die Schutzmaßnahmen, die jede Staging-Seite braucht, und wie Sie Änderungen zurückspielen, ohne neue Bestellungen oder Kommentare zu verlieren.
Zuletzt überarbeitet am 26. Oktober 2026 von der Redaktion HostingAS. Hinweise auf Fehler oder veraltete Angaben nehmen wir gern über das Kontaktformular entgegen.