So verbinden Sie sich per SSH mit Ihrem neuen Cloud-Server
Der Server läuft, die Konsole zeigt eine IP-Adresse, einen Login und ein Passwort, und jetzt müssen Sie hinein. Hier ist genau diese erste Verbindung, dazu die wenigen Dinge, die sich lohnen, bevor Sie irgendetwas installieren.
Was die Konsole Ihnen gibt
Öffnen Sie den Server in Ihrer Konsole und sehen Sie sich den Access-Block an. Dort stehen drei Dinge, die Sie brauchen: die IP-Adresse, Login und Password. Daneben liegen zwei Schaltflächen. Generate new password erzeugt ein neues zufälliges Passwort, Set new password übernimmt eines, das Sie selbst wählen. Beide wirken auf dem laufenden Server, nutzen Sie sie also, wenn das Passwort irgendwo in einem Chatfenster liegt.
Die erste Verbindung
Auf macOS und auf jedem Linux-Desktop ist SSH bereits installiert. Unter Windows gehört es seit Windows 10 und Windows Server 2019 zum System, derselbe Befehl funktioniert also in PowerShell, ohne PuTTY zu installieren:
ssh root@203.0.113.10
Beim ersten Mal zeigt SSH einen Fingerabdruck und fragt, ob es fortfahren soll. Diese Frage ist keine Formalität: SSH sagt Ihnen damit, dass es diesen Host noch nie gesehen hat und nicht für ihn bürgen kann. Auf einem gerade erstellten Server antworten Sie yes. Der Schlüssel landet in ~/.ssh/known_hosts und die Frage kommt für diese Adresse nicht wieder.
Wechseln Sie auf Schlüssel und schliessen Sie dann die Tür
Passwörter werden wiederverwendet, ins falsche Fenster getippt und in Tickets eingefügt. Schlüssel nicht. Erzeugen Sie einen auf Ihrem eigenen Rechner, nicht auf dem Server:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id root@203.0.113.10
Prüfen Sie dann in einem zweiten Terminalfenster, dass die Anmeldung mit Schlüssel funktioniert, bevor Sie etwas ändern. Lassen Sie das erste offen. Wenn die neue Einstellung falsch ist, ist genau diese noch offene Sitzung Ihr Weg zurück.
Sobald sich das zweite Fenster ohne Passwort anmeldet, bearbeiten Sie /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-password
und laden den Dienst neu: systemctl reload ssh unter Debian und Ubuntu, systemctl reload sshd unter AlmaLinux und Rocky.
Die vier Fehler, die wirklich vorkommen
| Was Sie sehen | Was es bedeutet | Was zu tun ist |
|---|---|---|
Permission denied (publickey) |
Der Server nimmt keine Passwörter mehr an und hat Ihren Schlüssel nicht | KVM-Konsole öffnen und ~/.ssh/authorized_keys sowie sshd_config prüfen |
Connection refused |
Etwas hat geantwortet: der Host läuft, aber auf Port 22 lauscht nichts | Konsole, dann systemctl status ssh - der Dienst ist gestoppt oder auf einem anderen Port |
Connection timed out |
Es hat gar nichts geantwortet: eine Firewall verwirft die Pakete, die Adresse stimmt nicht, oder der Server ist aus | Betriebszustand in der Konsole prüfen, danach Ihre Firewall-Regeln |
REMOTE HOST IDENTIFICATION HAS CHANGED |
Der Host-Schlüssel weicht vom gespeicherten ab | Nach einer Neuinstallation oder einer Snapshot-Wiederherstellung normal. Alten Eintrag entfernen: ssh-keygen -R 203.0.113.10 |
Der nützliche Unterschied steckt in den beiden mittleren Zeilen. Refused heisst, der Server ist erreichbar und das Problem ist ein Dienst. Timed out heisst, auf Ihre Pakete kam keine Antwort, das Problem liegt also zwischen Ihnen und ihm.
Die Konsole ist der Weg zurück
Jeder Fehler in diesem Artikel sperrt Sie aus SSH aus, und keiner sperrt Sie aus dem Server aus. Zur Konsole gehören ein KVM-Zugang, also Bildschirm und Tastatur direkt an der VM, und eine Textkonsole für die Systeme, die sie unterstützen. Keine von beiden läuft über SSH, deshalb sind eine kaputte sshd_config, eine Firewall-Regel, die Ihre eigene Adresse ausgesperrt hat, oder ein gelöschter Schlüssel in etwa einer Minute behoben.
Das sollte man vorher wissen, denn es verschiebt die Grenze des Riskanten. Sich auszusperren ist hier eine Unannehmlichkeit, kein Zwischenfall.
Die ersten zehn Minuten
- System aktualisieren -
apt update && apt upgradeoderdnf upgrade, bevor sonst etwas auf die Platte kommt - Benutzer anlegen und root beiseite lassen -
adduser you, in sudo oder wheel aufnehmen und ab jetzt damit anmelden - Hostname setzen und Uhr prüfen -
hostnamectl set-hostname web-01, danntimedatectl, denn eine falsche Zeit zerlegt Zertifikate und Logs - Automatische Sicherheitsupdates einschalten -
unattended-upgradesunter Debian und Ubuntu, sonstdnf-automatic - Snapshot anlegen - vor der ersten Installation, nicht nachdem etwas kaputt ist
Fazit
Die erste Verbindung ist ein einziger Befehl. Langsamer werden sollte man beim Wechsel auf Schlüssel, und die Regel, die ihn sicher macht, ist einfach: schliessen Sie die funktionierende Sitzung nie, bevor sich eine neue bewährt hat. Geht es doch schief, ist die Konsole immer noch da.
Cloud-Server in Tschechien und Portugal, ab EUR 15/Monat, mit Konsole und Passwort-Reset auf jedem: dcxv.com/data-center#cloud
