HELPER VPS

SSH-Zugang zum VPS unter Windows mit PowerShell und PuTTY

Mit einem Windows-PC verbinden Sie sich sofort mit einem Linux-Server, ohne zusätzliche Software zu kaufen. Hier finden Sie beide Wege: den ssh-Befehl der vorinstallierten PowerShell und das bewährte PuTTY.

Was Sie vor der Verbindung bereithalten

SSH tauscht Befehle verschlüsselt zwischen Ihrem Computer und dem Server aus. Linux VPS werden mit bereits aktiviertem SSH-Server erstellt, der Standardport ist 22. Für die Verbindung brauchen Sie nur drei Angaben.

  • IPv4-Adresse des Servers: wird in der Übersicht der Serverseite angezeigt.
  • Benutzername: anfangs nutzen Sie root.
  • root-Passwort: erscheint auf der Serverseite im Feld root-Passwort nach Klick auf Anzeigen. Es wird nach dem Festlegen 7 Tage angezeigt, speichern Sie es in einem Passwortmanager.

Verbinden Sie sich, sobald der Serverstatus auf Läuft wechselt. Wird der Server gerade erstellt oder neu installiert, warten Sie kurz, bis die Installation fertig ist. Ersetzen Sie in den folgenden Befehlen YOUR_SERVER_IP durch die IPv4-Adresse Ihres Servers.

Weg 1. Verbindung mit dem eingebauten ssh-Befehl in PowerShell

Ab Windows 10 Version 1809 und in Windows 11 ist der OpenSSH-Client vorinstalliert. Ohne separate Installation nutzen Sie in PowerShell oder Windows Terminal denselben ssh-Befehl wie unter Mac und Linux.

Schritt 1. PowerShell öffnen

Suchen Sie im Startmenü nach PowerShell oder Terminal und öffnen Sie es. Prüfen Sie mit dem folgenden Befehl, ob ssh bereitsteht. Erscheint die OpenSSH-Version in einer Zeile, sind Sie bereit.

PowerShell
ssh -V

Erscheint statt der Version der Hinweis, dass der Befehl nicht gefunden wurde, fügen Sie in den Einstellungen unter Optionale Features den OpenSSH-Client hinzu. Unter Windows 11 finden Sie es unter Einstellungen > System > Optionale Features, unter Windows 10 unter Einstellungen > Apps > Optionale Features. Alternativ fügen Sie ihn mit dem folgenden einen Befehl in einer PowerShell mit Administratorrechten hinzu.

PowerShell (Administrator)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Schritt 2. Mit dem Server verbinden

PowerShell
ssh root@YOUR_SERVER_IP

Bei der ersten Verbindung werden Sie gefragt, ob der Fingerabdruck des Servers gespeichert werden soll. Geben Sie yes ein und drücken Sie Enter, dann wird er in der Datei known_hosts Ihres PCs gespeichert und künftig nicht mehr abgefragt. Erscheint danach die Passwortabfrage, fügen Sie das auf der Serverseite kopierte root-Passwort ein.

In Windows Terminal und PowerShell fügen Sie mit Rechtsklick oder Strg+Umschalt+V ein. Dass das Passwort bei der Eingabe nicht angezeigt wird, ist normal; fügen Sie es einmal ein und drücken Sie Enter. Wechselt die Eingabeaufforderung zu root@servername:~#, war die Verbindung erfolgreich.

Schritt 3. Erste Befehle ausführen

Bringen Sie das System direkt nach dem Verbinden auf den neuesten Stand. Unter Ubuntu und Debian führen Sie apt update && apt upgrade -y aus, unter AlmaLinux und Rocky Linux dnf upgrade -y. Normale Benutzer anlegen und die Update-Reihenfolge finden Sie ausführlich in der Anleitung zum ersten Login. Beenden Sie die Verbindung danach mit exit.

Ohne Passwort per SSH-Key aus PowerShell verbinden

Mit einem SSH-Key müssen Sie das Passwort nicht jedes Mal einfügen, und gegen Versuche, Passwörter zu erraten, sind Sie deutlich besser geschützt. Auch unter Windows erstellen Sie den Key mit demselben Befehl ssh-keygen.

PowerShell
ssh-keygen -t ed25519

Wird nach dem Speicherort gefragt, übernehmen Sie mit Enter den Standard; eine Key-Passphrase festzulegen empfehlen wir. Im Ordner C:\Users\IhrName\.ssh entstehen zwei Dateien. id_ed25519 ist der private Key und bleibt nur auf Ihrem PC, id_ed25519.pub ist der öffentliche Key für den Server. Den Inhalt des öffentlichen Keys zeigen und kopieren Sie mit dem folgenden Befehl.

PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Bei einem neuen Server fügen Sie den öffentlichen Key im Menü SSH-Keys Ihres Kontos ein und wählen ihn beim Erstellen des Servers, dann verbinden Sie sich von Anfang an per Key. Die Schritte stehen in der Anleitung zu SSH-Keys. Auf einem bereits genutzten Server fügen Sie den öffentlichen Key mit dem folgenden einen Befehl hinzu. Dabei geben Sie einmalig das root-Passwort ein.

PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Bei mehreren Servern ist es bequem, die Verbindungsdaten unter Namen zu speichern. Legen Sie mit dem Editor die Datei C:\Users\IhrName\.ssh\config an und tragen Sie Folgendes ein, dann verbinden Sie sich mit dem einen Wort ssh myvps.

C:\Users\IhrName\.ssh\config
Host myvps
    HostName YOUR_SERVER_IP
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30

ServerAliveInterval 30 sendet alle 30 Sekunden ein Signal, damit die Verbindung auch bei kurzer Abwesenheit lange bestehen bleibt.

Weg 2. Verbindung mit PuTTY

PuTTY ist ein bewährtes kostenloses SSH-Programm für Windows. Wenn Sie Verbindungsdaten gern unter Namen speichern und per Doppelklick öffnen, passt PuTTY gut. Laden Sie von der offiziellen Website (putty.org) das 64-Bit-Installationspaket (MSI) und installieren Sie es, dann sind PuTTY und PuTTYgen zum Erstellen von Keys dabei.

Schritt 1. Verbindungsdaten eingeben und speichern

  • Beim Öffnen von PuTTY erscheint die Ansicht Session.
  • Tragen Sie unter Host Name die IPv4-Adresse des Servers und unter Port 22 ein, Connection type bleibt auf SSH.
  • Tragen Sie links unter Connection > Data bei Auto-login username root ein.
  • Tragen Sie unter Connection bei Seconds between keepalives 30 ein, dann bleibt die Verbindung lange bestehen.
  • Kehren Sie zur Ansicht Session zurück, geben Sie unter Saved Sessions einen Namen ein (z. B. myvps) und klicken Sie auf Save.

Schritt 2. Verbinden

Wählen Sie den gespeicherten Namen und klicken Sie auf Open. Beim ersten Mal erscheint ein Fenster zur Prüfung des Server-Fingerabdrucks; mit Accept wird er gespeichert. Erscheint die Passwortabfrage, fügen Sie das root-Passwort per Rechtsklick ein und drücken Enter. In PuTTY fügt ein Rechtsklick ein, und markierter Text wird sofort kopiert.

Schritt 3. SSH-Keys mit PuTTYgen nutzen

Öffnen Sie PuTTYgen, wählen Sie als Key-Typ EdDSA (Ed25519), klicken Sie auf Generate und bewegen Sie die Maus über die leere Fläche, bis der Fortschrittsbalken voll ist. Legen Sie eine Key passphrase fest und speichern Sie den privaten Key mit Save private key als .ppk-Datei.

Die Zeile im Feld Public key for pasting into OpenSSH authorized_keys file oben im Fenster ist der öffentliche Key. Hinterlegen Sie diese Zeile im Menü SSH-Keys Ihres Kontos oder fügen Sie sie bei einem bereits genutzten Server am Ende der Datei ~/.ssh/authorized_keys ein. Wählen Sie dann in PuTTY unter Connection > SSH > Auth > Credentials bei Private key file for authentication die .ppk-Datei und klicken Sie in der Ansicht Session erneut auf Save, dann verbinden Sie sich künftig ohne Passwort.

Möchten Sie einen in PowerShell erstellten OpenSSH-Key auch in PuTTY nutzen, laden Sie id_ed25519 in PuTTYgen über Conversions > Import key und speichern ihn als .ppk. So nutzen Sie einen Key für beide Programme.

Dateien zwischen Windows und Server übertragen

PowerShell enthält neben ssh auch den Befehl scp. Damit laden Sie Dateien von Ihrem PC auf den Server oder Dateien vom Server auf Ihren PC.

PowerShell
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\

Für ganze Ordner ergänzen Sie scp -r. Bevorzugen Sie Ziehen und Ablegen wie im Explorer, tragen Sie in einem SFTP-Programm wie WinSCP dieselbe Adresse, Port 22 und Benutzer root ein. WinSCP übernimmt in PuTTY gespeicherte Sitzungen und .ppk-Keys direkt.

Prüfschritte, wenn die Verbindung nicht klappt

Meist ist es einer der folgenden vier Fälle; gehen Sie der Reihe nach vor, sind Sie schnell wieder verbunden.

  • Connection timed out: Prüfen Sie zuerst, ob der Server läuft und die IP-Adresse stimmt. Ist eine Firewall aktiv, muss SSH (Port 22) erlaubt sein. Manche Firmen- oder Schulnetze sperren Port 22; testen Sie einmal über ein anderes Netz, etwa Tethering am Smartphone.
  • Permission denied: Kopieren Sie das Passwort erneut und fügen Sie es einmal ein. Prüfen Sie auch, ob Leerzeichen davor oder danach mitkopiert wurden. Ist das Passwort nach 7 Tagen nicht mehr sichtbar, erzeugen Sie auf der Serverseite ein neues root-Passwort.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: Dieser Hinweis erscheint, weil eine Neuinstallation des Servers einen neuen Fingerabdruck erzeugt. Löschen Sie den alten gespeicherten Fingerabdruck mit ssh-keygen -R YOUR_SERVER_IP und verbinden Sie sich erneut.
  • Connection refused: Der SSH-Dienst auf dem Server ist gestoppt oder der Port wurde geändert. Haben Sie den Port geändert, verbinden Sie sich mit ssh -p PORT root@YOUR_SERVER_IP.

Neues Passwort und Verbindung nach einer Neuinstallation sind in der Anleitung zu Neuinstallation und root-Passwort beschrieben. Hat die Verbindung geklappt, öffnen Sie mit der Anleitung zur Basis-Firewall nur die genutzten Ports.

Was Sie als Nächstes tun sollten

Klappt der Zugang per SSH-Key, schalten Sie die Passwortanmeldung ab und schützen den Server noch besser. Prüfen Sie zuerst den Zugang per Key, setzen Sie dann auf dem Server in der Datei /etc/ssh/sshd_config PasswordAuthentication auf no und starten Sie den SSH-Dienst neu. Unter Ubuntu und Debian mit systemctl restart ssh, unter AlmaLinux mit systemctl restart sshd.

Möchten Sie eine Website oder App bereitstellen, machen Sie mit der Anleitung zur Docker-Installation oder der Anleitung zur WordPress-Installation weiter. Brauchen Sie den Windows-Desktop selbst, passt der Windows VPS mit Zugang per Remotedesktop besser.

Passende weitere Anleitungen

Einstellungen, die Sie im Anschluss an diese Anleitung vornehmen sollten.

Alle Anleitungen ansehen