SSH-Schlüssel anlegen und einrichten¶
Ein SSH-Schlüssel ist die sicherere Alternative zum Passwort. Statt eines Wortes, das man erraten oder abfangen kann, kommen zwei zusammengehörige Dateien zum Einsatz.
Das Prinzip ist wie bei einem Vorhängeschloss: Den öffentlichen Teil hinterlegst du auf dem Server, das ist das Schloss. Den privaten Teil behältst du, das ist der Schlüssel. Ein Schloss kannst du überall anbringen, es nützt niemandem etwas. Der Schlüssel dagegen verlässt deinen Rechner nie.
Nicht in allen Tarifen enthalten
SSH steht nicht in jedem Tarif zur Verfügung. Findest du den Menüpunkt nicht, ist es für deinen Tarif nicht freigeschaltet. Schreib uns kurz, dann sehen wir nach, was möglich ist. → Tarif erweitern
Warum überhaupt ein Schlüssel?¶
| Passwort | Schlüssel | |
|---|---|---|
| Kann erraten werden | ja, wird massenhaft versucht | praktisch nicht |
| Beim Tippen abfangbar | ja | nein, es wird keines getippt |
| Bei einem Datenleck betroffen | ja, wenn mehrfach verwendet | nein |
| Bequemlichkeit | jedes Mal eingeben | einmal einrichten, danach nichts mehr |
Der letzte Punkt überzeugt in der Praxis am meisten: Nach der Einrichtung meldest du dich an, ohne etwas einzutippen.
Schritt 1: Das Schlüsselpaar erzeugen¶
Das machst du auf deinem eigenen Rechner, nicht auf dem Server.
Terminal öffnen und eingeben:
ssh-keygen -t ed25519 -C "mein-name@meine-firma.de"
Drei Rückfragen kommen:
- Wo soll die Datei hin? Mit Enter bestätigen, der Standardort passt.
- Passwort für den Schlüssel? Vergib eines, siehe Kasten unten.
- Wiederholung.
PowerShell öffnen und dieselbe Zeile eingeben:
ssh-keygen -t ed25519 -C "mein-name@meine-firma.de"
Windows bringt das seit Windows 10 mit, du musst nichts installieren.
Nutzt du PuTTY, erzeugst du den Schlüssel stattdessen mit dem mitgelieferten Programm PuTTYgen. Achte dort darauf, den öffentlichen Teil im richtigen Format zu kopieren, dazu unten mehr.
Danach liegen zwei Dateien auf deinem Rechner, üblicherweise in einem versteckten Ordner namens
.ssh in deinem Benutzerverzeichnis:
| Datei | Was sie ist |
|---|---|
id_ed25519 |
der private Schlüssel. Bleibt bei dir, immer |
id_ed25519.pub |
der öffentliche Schlüssel. Kommt auf den Server |
Der private Schlüssel verlässt deinen Rechner nie
Nicht per E-Mail verschicken, nicht auf den Webspace legen, nicht in ein Git-Repository aufnehmen. Er ist der Schlüssel selbst, nicht das Schloss.
Wir fragen dich niemals danach. Wenn dich jemand nach dem privaten Schlüssel fragt, ist das ein Betrugsversuch.
Die Datei mit der Endung .pub ist die harmlose. Nur die wird weitergegeben.
Vergib ein Passwort für den Schlüssel
Beim Erzeugen wirst du nach einem Passwort gefragt. Es ist verlockend, dort Enter zu drücken und keines zu setzen.
Setz eines. Es schützt den Schlüssel für den Fall, dass jemand an deinen Rechner kommt oder dein Notebook verloren geht. Ohne Passwort ist die Datei allein schon der volle Zugang.
Tippen musst du es trotzdem selten: Mac und Linux merken es sich im Schlüsselbund, unter Windows übernimmt das der SSH-Agent.
Schritt 2: Den öffentlichen Schlüssel hinterlegen¶
Im cPanel: Sicherheit → SSH-Zugriff → SSH-Schlüssel verwalten
- Auf Schlüssel importieren klicken
- Dem Schlüssel einen Namen geben, aus dem hervorgeht, zu welchem Gerät er gehört, etwa
notebook-buero - Den Inhalt der
.pub-Datei in das Feld für den öffentlichen Schlüssel einfügen - Speichern
- Den Schlüssel anschließend in der Liste auf autorisieren setzen
Schritt 5 wird gern vergessen. Ein importierter Schlüssel wirkt erst, wenn er auch autorisiert ist.
Den Inhalt richtig kopieren
Öffne die Datei id_ed25519.pub in einem einfachen Texteditor. Der Inhalt ist eine einzige
Zeile und beginnt mit ssh-ed25519.
Kopiere sie vollständig, ohne Zeilenumbruch am Ende. Ein umgebrochener Schlüssel wird abgelehnt, meist ohne verständliche Fehlermeldung.
Nutzt du PuTTYgen, nimm nicht den Inhalt des Speicherfensters, sondern das Feld „Public key for pasting into OpenSSH authorized_keys file". Das ist das richtige Format.
Schritt 3: Verbinden¶
ssh deinbenutzername@cpXXX.sp-server.net
Den Servernamen findest du im Kundenportal unter Verträge → Meine Verträge oder im cPanel rechts in der Übersicht. Der Benutzername ist dein cPanel-Benutzername.
Beim ersten Mal fragt dein Rechner, ob er dem Server vertrauen soll. Das ist normal und passiert nur einmal.
Mehrere Geräte, mehrere Schlüssel¶
Erzeug je Gerät ein eigenes Schlüsselpaar und hinterlege alle öffentlichen Teile. Das klingt umständlicher, ist aber der Sinn der Sache: Geht ein Notebook verloren, entfernst du genau diesen einen Schlüssel und alle anderen laufen weiter.
Kopiere niemals den privaten Schlüssel von einem Gerät aufs andere. Damit hebelst du genau diesen Vorteil aus.
Wenn es nicht klappt¶
Es wird weiter nach dem Passwort gefragt. Dann greift der Schlüssel nicht. Prüfe, ob er in der Liste wirklich auf autorisiert steht.
„Permission denied (publickey)". Der Server kennt deinen Schlüssel nicht. Meist wurde der falsche Teil hinterlegt, also der private statt des öffentlichen, oder beim Kopieren ist etwas verlorengegangen.
Es passiert gar nichts, die Verbindung läuft in eine Zeitüberschreitung. Dann ist womöglich deine Internetadresse gesperrt, etwa nach mehreren Fehlversuchen. → Es geht nur bei mir nicht
Der Menüpunkt fehlt im cPanel. SSH ist für deinen Tarif nicht freigeschaltet.
Wenn ein Schlüssel weg soll¶
Über dieselbe Seite kannst du Schlüssel entziehen und löschen. Das wirkt sofort.
Tu das in diesen Fällen:
- Ein Gerät wurde verkauft, verloren oder ausgemustert
- Eine Agentur oder ein Dienstleister hat den Auftrag abgeschlossen
- Du findest einen Schlüssel in der Liste, den du nicht zuordnen kannst
Ein fremder Schlüssel ist eine offene Tür
Schlüssel wirken unabhängig vom Passwort. Wer einen hinterlegt hat, kommt weiter herein, ganz gleich wie oft du dein Passwort änderst.
Deshalb gehört diese Liste nach einem Einbruch als Erstes geprüft. → Meine Website wurde gehackt
Das könnte auch weiterhelfen¶
- Meine Website wurde gehackt: dort gehört diese Liste geprüft
- Zugänge absichern
- FTP-Konto erstellen: der einfachere Weg für reine Dateiübertragung
- cPanel-Passwort ändern: dasselbe Passwort gilt auch für SSH
- Tarif erweitern