Mit SSH (Secure Shell) kannst du dich über das Netzwerk mit einem anderen Computer verbinden und diesen aus der Ferne bedienen. Besonders praktisch ist das, wenn du einen Linux-Server, einen Raspberry Pi oder ein NAS im Heimnetzwerk verwalten möchtest. Du benötigst dafür weder einen zweiten Bildschirm noch eine zusätzliche Tastatur.
Unter Windows 11 funktioniert das inzwischen erstaunlich einfach. In vielen Fällen ist der benötigte SSH-Client bereits vorhanden. Du öffnest lediglich das Windows Terminal oder die PowerShell, gibst einen Befehl ein und stellst die Verbindung zum gewünschten Rechner her.
Allerdings tauchen gerade am Anfang einige Fragen auf: Welchen Benutzernamen muss ich eingeben? Woher bekomme ich die IP-Adresse des Servers? Und wie übertrage ich eine Datei von Windows auf Linux?
Ich erkläre dir die einzelnen Schritte anhand eines konkreten Beispiels. Dabei verwenden wir einen Windows-11-PC und einen Linux-Rechner im selben Heimnetzwerk. So kannst du die Befehle leichter nachvollziehen und für deine eigenen Geräte anpassen.
Was ist SSH (Secure Shell) überhaupt?
SSH steht für Secure Shell und bezeichnet ein Netzwerkprotokoll, mit dem sich verschlüsselte Verbindungen zwischen zwei Computern herstellen lassen.
Du kannst dir SSH wie einen sicheren Zugang zu einem entfernten Rechner vorstellen. Statt direkt vor diesem Computer zu sitzen, greifst du über das Netzwerk darauf zu. Du kannst Befehle ausführen, Dateien verwalten oder bestimmte Dienste starten und beenden.
Der große Unterschied zu einer unverschlüsselten Verbindung besteht darin, dass SSH die übertragenen Daten schützt. Dazu gehören auch deine Anmeldedaten und die Befehle, die du eingibst.
Wenn du genauer verstehen möchtest, wie solche Schutzmechanismen funktionieren, erkläre ich die wichtigsten Grundlagen in meinem Artikel über Verschlüsselung für Einsteiger.
SSH arbeitet nach dem Client-Server-Prinzip:
- SSH-Client: Das Programm auf deinem Computer, mit dem du eine Verbindung aufbaust.
- SSH-Server: Der Dienst auf dem entfernten Rechner, der Verbindungen entgegennimmt.
- SSH-Verbindung: Der verschlüsselte Kommunikationsweg zwischen beiden Geräten.
Ein typischer Anwendungsfall ist ein kleiner Linux-Server, der ohne Monitor in einem anderen Zimmer steht. Über SSH kannst du ihn trotzdem verwalten, ohne jedes Mal direkt an das Gerät gehen zu müssen.
Auch viele NAS-Systeme und Raspberry-Pi-Installationen unterstützen SSH. Allerdings muss der entsprechende Serverdienst auf dem Zielgerät aktiviert sein.
Für die Verbindung wird standardmäßig der TCP-Port 22 verwendet. Dieser Port muss auf dem Zielgerät erreichbar sein. Im lokalen Heimnetzwerk ist dafür normalerweise keine Portfreigabe am Router notwendig.
Was benötigst du für eine SSH-Verbindung?
Bevor wir die erste Verbindung herstellen, sollten ein paar Voraussetzungen erfüllt sein.
Für unser Beispiel verwenden wir zwei Geräte im selben Heimnetzwerk:
| Gerät | Beispiel |
|---|---|
| Dein Computer | Windows-11-PC |
| Zielgerät | Linux-Rechner mit SSH-Server |
| IP-Adresse des Zielgeräts | 192.168.178.50 |
| Benutzer auf dem Linux-Rechner | max |
| SSH-Port | 22 |
Die IP-Adresse und der Benutzername sind nur Beispiele. Bei dir werden wahrscheinlich andere Werte stehen.
Wichtig ist, dass der Linux-Rechner eingeschaltet und über das Netzwerk erreichbar ist. Außerdem benötigst du ein Benutzerkonto auf diesem Gerät und eine passende Anmeldemöglichkeit.
Besonders wichtig: Der Benutzername für die SSH-Anmeldung gehört zum entfernten Rechner. Er muss nicht mit deinem Windows-Benutzernamen übereinstimmen.
Angenommen, du bist unter Windows als Dirk angemeldet, auf deinem Linux-Server existiert aber der Benutzer max. Dann verwendest du für die SSH-Verbindung den Benutzernamen max.
Ist der SSH-Server unter Linux bereits installiert?
Auf vielen Linux-Desktop-Systemen ist zwar ein SSH-Client vorhanden, aber nicht unbedingt ein laufender SSH-Server.
Bei Ubuntu oder Debian kannst du den Server über das Terminal installieren:
sudo apt update
sudo apt install openssh-server
Anschließend prüfst du mit folgendem Befehl, ob der Dienst läuft:
sudo systemctl status ssh
Wenn der Dienst nicht gestartet wurde, kannst du ihn folgendermaßen aktivieren:
sudo systemctl enable --now ssh
Diese Befehle gelten für Ubuntu und Debian beziehungsweise entsprechende Distributionen mit systemd. Bei anderen Linux-Systemen können Paketnamen und Dienstbezeichnungen abweichen.
Falls auf dem Linux-Rechner eine Firewall aktiviert ist, muss sie eingehende SSH-Verbindungen erlauben. Bei Ubuntu mit UFW geht das beispielsweise mit sudo ufw allow OpenSSH. Du solltest die Firewall dafür nicht vollständig deaktivieren.
SSH unter Windows 11 verwenden
Früher benötigte man unter Windows für SSH häufig ein zusätzliches Programm wie PuTTY. Das ist heute für einfache Verbindungen meist nicht mehr notwendig.
Windows 11 unterstützt OpenSSH als optionale Systemkomponente. Auf vielen Installationen ist der SSH-Client bereits verfügbar.
Ob das bei dir der Fall ist, findest du schnell heraus.
Schritt 1: Windows Terminal oder PowerShell öffnen
Klicke mit der rechten Maustaste auf das Windows-Symbol in der Taskleiste und öffne das Terminal.
Alternativ kannst du im Startmenü nach „PowerShell“ suchen.
Gib dort folgenden Befehl ein:
ssh -V

Beachte das große V. Damit lässt du dir die installierte OpenSSH-Version anzeigen.
Wenn eine Versionsnummer erscheint, kannst du direkt weitermachen.
Erscheint dagegen die Meldung, dass der Befehl nicht gefunden wurde, fehlt der SSH-Client möglicherweise.
Schritt 2: OpenSSH-Client bei Bedarf installieren
Öffne die Windows-Einstellungen und suche unter System → Optionale Features beziehungsweise Optionale Features in der jeweiligen Windows-Version nach dem OpenSSH-Client.
Falls er nicht installiert ist, kannst du ihn über die verfügbaren optionalen Features hinzufügen.
Alternativ lässt sich OpenSSH über eine PowerShell mit Administratorrechten installieren:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Falls die Installation nicht funktioniert oder du weitere Informationen zur Einrichtung benötigst, findest du die einzelnen Schritte auch in der offiziellen OpenSSH-Anleitung von Microsoft.
Danach öffnest du das Terminal erneut und prüfst mit ssh -V, ob der Client funktioniert.
Die grafische Oberfläche von PuTTY kannst du natürlich weiterhin verwenden. Für unsere folgenden Beispiele bleiben wir aber beim integrierten SSH-Client von Windows.
IP-Adresse und Benutzernamen des Linux-Rechners herausfinden
Jetzt benötigen wir die beiden wichtigsten Angaben für die Verbindung: die IP-Adresse des Zielrechners und den dort eingerichteten Benutzernamen.
Falls du direkt auf den Linux-Rechner zugreifen kannst, öffne dort zunächst ein Terminal.
Mit folgendem Befehl findest du den aktuellen Benutzernamen heraus:
whoami
Im Beispiel lautet die Ausgabe:
max
Anschließend lässt du dir die IP-Adressen des Linux-Rechners anzeigen:
hostname -I
Die Ausgabe könnte beispielsweise so aussehen:
192.168.178.50
Manche Geräte besitzen mehrere Netzwerkadressen. Achte darauf, die IPv4-Adresse der aktiven Netzwerkverbindung zu verwenden, über die dein Windows-PC den Linux-Rechner erreichen kann.
Du kannst die IP-Adresse auch in der Geräteübersicht deines Routers nachsehen. Dort findest du die verbundenen Geräte häufig zusammen mit ihrem Gerätenamen und ihrer IP-Adresse.
Falls du noch nicht genau weißt, wie IP-Adressen funktionieren und worin sich lokale und öffentliche Adressen unterscheiden, findest du die Grundlagen in meinem Ratgeber über IP-Adressen.
Für unser weiteres Beispiel verwenden wir:
- Linux-Benutzer:
max - Linux-IP-Adresse:
192.168.178.50
Beide Angaben benötigst du gleich für den SSH-Befehl.
SSH-Verbindung herstellen: Schritt für Schritt

Jetzt stellen wir die erste Verbindung vom Windows-PC zum Linux-Rechner her.
Öffne dazu auf deinem Windows-PC das Terminal oder die PowerShell.
Gib anschließend diesen Befehl ein:
ssh max@192.168.178.50
Drücke die Eingabetaste.
Der Befehl setzt sich aus drei Teilen zusammen:
| Bestandteil | Bedeutung |
|---|---|
ssh | Startet den SSH-Client |
max | Benutzername auf dem Linux-Rechner |
192.168.178.50 | IP-Adresse des Linux-Rechners |
Das @ verbindet den Benutzernamen mit der Serveradresse.
Was passiert beim ersten Verbindungsaufbau?
Wenn du dich zum ersten Mal mit dem Linux-Rechner verbindest, erscheint normalerweise eine Meldung zur Identität des Servers.
Dabei wird dir der Fingerabdruck des öffentlichen Hostschlüssels angezeigt.
SSH möchte wissen, ob du diesem Rechner vertraust.
Vergleiche den angezeigten Fingerabdruck möglichst mit dem Hostschlüssel des tatsächlichen Linux-Rechners. Bei einem eigenen Linux-Server kannst du den Fingerabdruck beispielsweise direkt am Gerät mit folgendem Befehl anzeigen:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Verwendet dein SSH-Server einen anderen Hostschlüsseltyp, musst du die entsprechende öffentliche Hostschlüsseldatei prüfen.
Stimmt der Fingerabdruck überein, bestätigst du die Verbindung mit:
yes
Danach wird der Hostschlüssel auf deinem Windows-PC gespeichert. Bei späteren Verbindungen kann SSH so feststellen, ob sich die Identität des Servers verändert hat.
Passwort eingeben und anmelden
Wenn auf dem Linux-Server die Anmeldung per Passwort erlaubt ist, wirst du nun nach dem Passwort des Benutzers max gefragt.
Gib das Passwort ein und bestätige mit der Eingabetaste.
Während der Eingabe erscheinen keine Zeichen auf dem Bildschirm. Auch keine Sternchen. Das ist normal und kein Fehler.
Nach erfolgreicher Anmeldung befindest du dich in einer Terminal-Sitzung auf dem Linux-Rechner.
Du kannst jetzt Befehle ausführen, obwohl du weiterhin an deinem Windows-PC sitzt.
Mit folgendem Befehl beendest du die Verbindung:
exit
Damit kehrst du zur lokalen PowerShell zurück.
Die wichtigsten SSH-Befehle für Einsteiger
Wenn du dich erfolgreich mit dem Linux-Rechner verbunden hast, kannst du dort Befehle ausführen.
Für den Anfang reichen wenige Kommandos aus. Du musst also nicht gleich die gesamte Linux-Kommandozeile beherrschen.
| Befehl | Funktion |
|---|---|
pwd | Zeigt das aktuelle Verzeichnis |
ls | Listet Dateien und Ordner auf |
ls -l | Zeigt eine ausführliche Dateiliste |
cd ordnername | Wechselt in einen Unterordner |
cd .. | Wechselt eine Verzeichnisebene zurück |
cd ~ | Wechselt ins eigene Benutzerverzeichnis |
mkdir testordner | Erstellt einen neuen Ordner |
whoami | Zeigt den angemeldeten Benutzer |
exit | Beendet die SSH-Verbindung |
Wenn du später weitere SSH-Befehle ausprobieren möchtest, findest du in der offiziellen OpenSSH-Dokumentation ausführliche Beschreibungen zu ssh, scp, sftp und ssh-keygen.
Ein kleines Beispiel:
Du bist über SSH auf dem Linux-Rechner angemeldet und gibst folgenden Befehl ein:
pwd
Als Ausgabe erscheint:
/home/max
Das bedeutet, dass du dich gerade im persönlichen Verzeichnis des Linux-Benutzers max befindest.
Mit ls kannst du dir den Inhalt anzeigen lassen. Über mkdir testordner legst du einen neuen Unterordner an.
Diese Befehle werden auf dem entfernten Linux-Rechner ausgeführt, nicht auf deinem Windows-PC.
Gerade für Windows-Nutzer ist das anfangs etwas ungewohnt. Du musst dir aber nur merken: Solange die SSH-Sitzung geöffnet ist, arbeitest du auf dem Zielrechner.
Dateien mit SCP über SSH übertragen
Mit SSH kannst du nicht nur entfernte Rechner bedienen, sondern auch Dateien sicher übertragen. Dafür gibt es unter anderem den Befehl scp.
SCP steht für Secure Copy. Das Programm nutzt SSH zur verschlüsselten Dateiübertragung. Bei modernen OpenSSH-Versionen verwendet scp dafür standardmäßig das SFTP-Protokoll.

Wir bleiben bei unserem Beispiel: Ein Windows-11-PC soll eine Textdatei auf den Linux-Rechner übertragen.
Beispiel 1: Eine Datei von Windows auf Linux kopieren
Angenommen, auf deinem Windows-PC liegt die Datei notizen.txt in diesem Verzeichnis:
C:\Users\Dirk\Documents\
Du möchtest sie in das Benutzerverzeichnis /home/max/ auf dem Linux-Rechner kopieren.
Öffne die PowerShell auf deinem Windows-PC und gib folgenden Befehl ein:
scp "C:\Users\Dirk\Documents\notizen.txt" max@192.168.178.50:/home/max/
Die einzelnen Bestandteile bedeuten:
| Teil des Befehls | Erklärung |
|---|---|
scp | Startet die Dateiübertragung |
"C:\Users\Dirk\Documents\notizen.txt" | Quelldatei auf deinem Windows-PC |
max | Benutzername auf dem Linux-Rechner |
192.168.178.50 | IP-Adresse des Linux-Rechners |
/home/max/ | Zielordner auf dem Linux-Rechner |
Der Zielordner muss vorhanden sein und der Benutzer max benötigt die entsprechenden Schreibrechte.
Nach der Anmeldung überträgt SCP die Datei auf den Linux-Rechner.
Die ursprüngliche Datei bleibt auf deinem Windows-PC erhalten.
Wichtig: Der Benutzername Dirk im Windows-Pfad ist nur ein Beispiel. Verwende dort deinen tatsächlichen Windows-Profilordner. Den findest du in PowerShell mit $env:USERPROFILE.
Beispiel 2: Eine Datei von Linux auf Windows kopieren
Die Übertragung funktioniert auch in die andere Richtung.
Angenommen, die Datei bericht.txt liegt auf dem Linux-Rechner im Verzeichnis /home/max/.
Du möchtest sie in deinen Windows-Downloadordner kopieren.
Dafür verwendest du auf deinem Windows-PC diesen Befehl:
scp max@192.168.178.50:/home/max/bericht.txt "$env:USERPROFILE\Downloads\"
Diesmal steht die Serveradresse am Anfang des Dateipfads. Das bedeutet, dass die Datei vom Linux-Rechner heruntergeladen wird.
Als Ziel verwenden wir den Downloadordner des aktuellen Windows-Benutzers. Der Ausdruck $env:USERPROFILE sorgt dafür, dass du den Benutzernamen nicht selbst einsetzen musst.
Das Beispiel geht davon aus, dass sich dein Downloadordner unterhalb des Windows-Profilverzeichnisses befindet.
Beispiel 3: Einen kompletten Ordner übertragen
Du kannst mit SCP auch ganze Verzeichnisse übertragen.
Dafür benötigst du den Parameter -r. Er sorgt dafür, dass sämtliche Unterordner und Dateien mitkopiert werden.
Beispiel:
scp -r "C:\Users\Dirk\Documents\Projekt" max@192.168.178.50:/home/max/
Damit kopierst du den Ordner Projekt einschließlich seines Inhalts in das Benutzerverzeichnis des Linux-Rechners.
Falls dort bereits ein gleichnamiger Ordner existiert, können gleichnamige Dateien überschrieben werden. Prüfe deshalb immer die Pfade, bevor du den Befehl ausführst.
Was bedeutet der Doppelpunkt im SCP-Befehl?
Vielleicht ist dir aufgefallen, dass nach der Serveradresse ein Doppelpunkt steht:
max@192.168.178.50:/home/max/
Dieser Doppelpunkt trennt die Serveradresse vom Dateipfad auf dem entfernten Gerät.
Er bedeutet also nicht, dass du ein Windows-Laufwerk wie C: angeben musst.
Unter Linux beginnen absolute Dateipfade normalerweise mit /. Das persönliche Verzeichnis des Benutzers max lautet in unserem Beispiel /home/max/.
Damit wird auch deutlich, warum der vollständige SCP-Befehl für Einsteiger wesentlich verständlicher ist als die allgemeine Schreibweise mit benutzername@serveradresse:/zielverzeichnis.
SSH-Schlüssel erstellen: Anmeldung ohne Serverpasswort
Bisher haben wir uns über SSH mit einem Benutzernamen und Passwort angemeldet.
Das funktioniert, ist aber nicht die einzige Möglichkeit.
SSH unterstützt auch die Anmeldung mit einem Schlüsselpaar. Dabei werden zwei zusammengehörige Schlüssel verwendet:
- Privater Schlüssel: Bleibt auf deinem eigenen Computer und darf nicht weitergegeben werden.
- Öffentlicher Schlüssel: Wird auf dem entfernten Rechner hinterlegt und ermöglicht dort die Überprüfung deiner Anmeldung.
Das Verfahren ist besonders praktisch, wenn du regelmäßig auf denselben Linux-Rechner zugreifst.
Außerdem schützt es bei richtiger Einrichtung gegen Angriffe, bei denen Passwörter erraten werden sollen.

Schritt 1: SSH-Schlüssel unter Windows 11 erstellen
Öffne auf deinem Windows-PC eine PowerShell und gib diesen Befehl ein:
ssh-keygen -t ed25519
Damit erstellst du ein SSH-Schlüsselpaar mit dem modernen Ed25519-Verfahren.
Anschließend fragt dich Windows, unter welchem Dateinamen die Schlüssel gespeichert werden sollen.
Wenn du noch kein Schlüsselpaar besitzt, kannst du den vorgeschlagenen Speicherort normalerweise mit der Eingabetaste übernehmen.
Standardmäßig entstehen zwei Dateien im .ssh-Ordner deines Windows-Benutzerprofils:
| Datei | Bedeutung |
|---|---|
id_ed25519 | Privater SSH-Schlüssel |
id_ed25519.pub | Öffentlicher SSH-Schlüssel |
Falls dort bereits Dateien mit diesen Namen existieren, solltest du sie nicht einfach überschreiben. Andernfalls funktionieren möglicherweise vorhandene SSH-Verbindungen nicht mehr.
Bei der Erstellung wirst du auch nach einer Passphrase gefragt.
Ich empfehle, eine sichere Passphrase festzulegen. Sie schützt den privaten Schlüssel zusätzlich, falls jemand Zugriff auf die Datei erhält.
Die Passphrase ist nicht dasselbe wie das Passwort deines Linux-Benutzers.
Schritt 2: Öffentlichen Schlüssel auf den Linux-Rechner übertragen
Damit du dich mit dem Schlüssel anmelden kannst, muss der öffentliche Schlüssel auf dem Linux-Rechner hinterlegt werden.
Unter Linux lässt sich das häufig mit folgendem Befehl erledigen:
ssh-copy-id -i ~/.ssh/id_ed25519.pub max@192.168.178.50
Wichtig ist allerdings, dass ssh-copy-id unter Windows nicht standardmäßig zum integrierten OpenSSH-Client gehört.
Wenn du Windows 11 verwendest, kannst du deinen öffentlichen Schlüssel stattdessen über die PowerShell übertragen.
Dafür verwendest du auf deinem Windows-PC diesen Befehl:
Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub" | ssh max@192.168.178.50 "umask 077; mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"
Der Befehl sieht auf den ersten Blick kompliziert aus. Tatsächlich erledigt er nur drei Aufgaben:
- Er liest den öffentlichen SSH-Schlüssel auf deinem Windows-PC ein.
- Er verbindet sich mit dem Linux-Rechner und erstellt dort bei Bedarf den Ordner
.ssh. - Er ergänzt den öffentlichen Schlüssel in der Datei
authorized_keysdes Benutzersmax.
Du wirst dabei möglicherweise noch einmal nach dem Passwort des Linux-Benutzers gefragt.
Der Befehl setzt voraus, dass du dich bisher mit deinem Passwort am Linux-Rechner anmelden kannst und eine normale Shell zur Verfügung steht. Außerdem muss der Linux-SSH-Server die Anmeldung per Schlüssel unterstützen.
Der private SSH-Schlüssel wird dabei nicht übertragen. Er bleibt auf deinem Windows-PC.
Schritt 3: SSH-Anmeldung mit Schlüssel ausprobieren
Nachdem der öffentliche Schlüssel auf dem Linux-Rechner gespeichert wurde, kannst du die Anmeldung testen.
Öffne auf deinem Windows-PC ein neues PowerShell-Fenster und gib ein:
ssh max@192.168.178.50
Wenn alles richtig eingerichtet ist, verwendet SSH deinen privaten Schlüssel zur Anmeldung.
Du musst dann nicht mehr das Passwort des Linux-Benutzerkontos eingeben.
Hast du deinen privaten Schlüssel mit einer Passphrase geschützt, kann allerdings weiterhin eine Abfrage dieser Passphrase erscheinen.
Das ist erwünscht: Sie schützt deinen privaten Schlüssel vor unberechtigter Nutzung.
Falls die Anmeldung nicht funktioniert, kontrolliere die verwendeten Dateipfade, den Benutzernamen und die Berechtigungen auf dem Linux-Rechner.
Deaktiviere die bisherige Passwortanmeldung auf dem Linux-Server erst, wenn du die Schlüsselanmeldung erfolgreich getestet hast und einen funktionierenden administrativen Zugang behalten kannst.
SSH sicher verwenden: Diese Regeln solltest du beachten
Die Verbindung über SSH ist verschlüsselt. Trotzdem hängt die tatsächliche Sicherheit auch davon ab, wie du den SSH-Zugang einrichtest.
Gerade bei einem Server im Heimnetzwerk solltest du einige Grundregeln beachten.
1. Verwende SSH-Schlüssel statt einfacher Passwörter.
Eine Schlüsselanmeldung mit einer sicheren Passphrase bietet guten Schutz. Du solltest deinen privaten Schlüssel außerdem niemals per E-Mail versenden oder auf einem öffentlich zugänglichen Laufwerk speichern.
2. Halte den SSH-Server aktuell.
Sicherheitslücken können auch in SSH-Servern auftreten. Installiere deshalb regelmäßig Updates für dein Linux-System und die eingesetzten SSH-Komponenten.
3. Vermeide die Anmeldung als Root.
Für gewöhnliche Verwaltungsaufgaben reicht ein normales Benutzerkonto. Falls notwendig, kannst du einzelne Aufgaben mit sudo und entsprechenden Berechtigungen ausführen.
4. Gib den SSH-Port nicht unnötig im Internet frei.
Solange du SSH nur innerhalb deines Heimnetzwerks verwendest, benötigst du normalerweise keine Portfreigabe am Router.
Möchtest du später von unterwegs sicher auf deinen Linux-Rechner zugreifen, ist beispielsweise eine VPN-Verbindung über WireGuard eine sinnvolle Lösung. Damit kannst du zunächst eine geschützte Verbindung zu deinem Heimnetzwerk herstellen und anschließend SSH nutzen.
5. Ignoriere keine Warnungen zum Hostschlüssel.
Wenn SSH meldet, dass sich die Identität eines bekannten Servers verändert hat, solltest du die Ursache prüfen. Solche Warnungen können nach einer Neuinstallation auftreten, aber auch auf einen Sicherheitsvorfall hindeuten.
Den SSH-Port von 22 auf eine andere Nummer zu ändern, ist dagegen keine ausreichende Sicherheitsmaßnahme. Das kann automatisierte Zugriffsversuche reduzieren, ersetzt aber keine sichere Authentifizierung.
Häufige SSH-Probleme und ihre Lösungen
Beim ersten Einrichten einer SSH-Verbindung funktioniert nicht immer alles sofort.
Meistens sind die Ursachen überschaubar: eine falsche IP-Adresse, ein nicht gestarteter SSH-Server oder fehlerhafte Anmeldedaten.
Fehlermeldung: Connection refused
Diese Meldung bedeutet häufig, dass auf der angegebenen Adresse und dem verwendeten Port kein Dienst Verbindungen annimmt oder die Verbindung aktiv zurückgewiesen wird.
Mögliche Ursachen sind:
- Der SSH-Server ist nicht gestartet.
- Der SSH-Server ist nicht installiert.
- Du verwendest den falschen Port.
- Eine Firewall weist die Verbindung zurück.
Prüfe auf dem Linux-Rechner zunächst, ob der SSH-Dienst läuft:
sudo systemctl status ssh
Falls du Ubuntu oder Debian verwendest und der Dienst nicht aktiv ist, kannst du ihn mit sudo systemctl start ssh starten.
Fehlermeldung: Connection timed out
Bei dieser Meldung konnte die Verbindung nicht innerhalb der vorgesehenen Zeit hergestellt werden.
Prüfe zunächst, ob dein Windows-PC das Zielgerät grundsätzlich erreichen kann:
ping 192.168.178.50
Erhältst du keine Antwort, kann das an einer falschen IP-Adresse, einer unterbrochenen Netzwerkverbindung oder auch an gesperrten ICMP-Anfragen liegen.
Ein fehlgeschlagener Ping beweist deshalb nicht automatisch, dass SSH ebenfalls nicht erreichbar ist.
Unter Windows kannst du den SSH-Port gezielt prüfen:
Test-NetConnection 192.168.178.50 -Port 22
Wenn bei TcpTestSucceeded der Wert True erscheint, ist der TCP-Port 22 erreichbar.
Fehlermeldung: Permission denied (publickey)
Diese Meldung weist darauf hin, dass die Anmeldung mit dem angebotenen öffentlichen Schlüssel nicht akzeptiert wurde.
Überprüfe insbesondere, ob der richtige öffentliche Schlüssel in der Datei ~/.ssh/authorized_keys auf dem Linux-Rechner eingetragen ist.
Auf dem Linux-Rechner kannst du die üblichen Berechtigungen für den SSH-Ordner und die Schlüsseldatei so setzen:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Führe diese Befehle als der betreffende Linux-Benutzer aus. Auch der Eigentümer der Dateien muss stimmen.
Falls die Anmeldung weiterhin scheitert, kannst du unter Windows zusätzliche Diagnoseinformationen anzeigen lassen:
ssh -v max@192.168.178.50
Damit erfährst du unter anderem, welche Schlüssel der SSH-Client bei der Anmeldung anbietet.
SSH verwendet einen anderen Port
Nicht jeder SSH-Server verwendet den Standardport 22. Manche Systeme sind beispielsweise auf Port 2222 konfiguriert.
Dann musst du den Port bei der Verbindung ausdrücklich angeben:
ssh -p 2222 max@192.168.178.50
Bei einer Dateiübertragung mit SCP lautet die entsprechende Option dagegen -P mit einem großen P:
scp -P 2222 "C:\Users\Dirk\Documents\notizen.txt" max@192.168.178.50:/home/max/
Der Port muss natürlich mit der tatsächlichen Konfiguration des SSH-Servers übereinstimmen.
Häufige Fragen zu SSH (FAQ)
Kann ich SSH unter Windows 11 ohne PuTTY verwenden?
Ja. Windows 11 unterstützt den OpenSSH-Client, den du direkt über die PowerShell oder das Windows Terminal aufrufen kannst. Falls er nicht installiert ist, kannst du ihn als optionale Windows-Komponente hinzufügen.
Welchen Benutzernamen muss ich für SSH verwenden?
Du benötigst den Benutzernamen eines Kontos auf dem entfernten Rechner. Wenn du dich von Windows aus mit einem Linux-Server verbindest, verwendest du also den Linux-Benutzernamen. Er muss nicht mit deinem Windows-Benutzernamen übereinstimmen.
Muss ich für SSH eine feste IP-Adresse vergeben?
Nicht unbedingt. Du kannst auch einen erreichbaren Hostnamen verwenden. Für Geräte, die du regelmäßig per SSH ansprichst, ist eine gleichbleibende lokale IP-Adresse oder eine zuverlässige Namensauflösung allerdings hilfreich. Bei vielen Routern kannst du einem Gerät dauerhaft dieselbe IP-Adresse zuweisen lassen.
Funktioniert SSH auch über WLAN?
Ja. SSH funktioniert sowohl über LAN als auch über WLAN, solange die Geräte miteinander kommunizieren können. Die Verbindung wird unabhängig von der verwendeten Netzwerkart verschlüsselt.
Ist SSH das Gleiche wie Remote Desktop?
Nein. Bei SSH arbeitest du normalerweise über eine textbasierte Kommandozeile auf dem entfernten Rechner. Eine Remote-Desktop-Verbindung stellt dir dagegen eine grafische Benutzeroberfläche bereit. SSH kann auch andere Verbindungen weiterleiten, ist aber kein direkter Ersatz für eine klassische Desktop-Fernsteuerung.
Kann ich mit SSH auch auf mein NAS zugreifen?
Viele NAS-Systeme unterstützen SSH, beispielsweise Geräte von Synology oder QNAP. Die Funktion muss meistens zunächst in der Geräteverwaltung aktiviert werden. Die benötigten Zugangsdaten und Berechtigungen hängen vom jeweiligen NAS-System ab.
Fazit: SSH ist auch für Einsteiger gut zu nutzen
SSH (Secure Shell) ist eine praktische Möglichkeit, um andere Computer im Netzwerk sicher zu verwalten. Besonders beim Zugriff auf Linux-Rechner, Raspberry Pis oder NAS-Systeme erspart dir das eine Menge Aufwand.
Unter Windows 11 benötigst du dafür meistens nicht einmal zusätzliche Software. Mit dem integrierten SSH-Client kannst du Verbindungen herstellen, Befehle ausführen und Dateien zwischen Geräten übertragen.
Am Anfang sind vor allem drei Angaben wichtig: der Benutzername auf dem Zielgerät, dessen IP-Adresse und gegebenenfalls der SSH-Port.
Wenn die erste Verbindung funktioniert, kannst du dich schrittweise mit weiteren Befehlen vertraut machen. Eine Anmeldung über SSH-Schlüssel ist dann der nächste sinnvolle Schritt.
Mein Tipp: Probiere SSH zunächst mit zwei eigenen Geräten im Heimnetzwerk aus. So lernst du die wichtigsten Funktionen kennen, ohne einen Server direkt über das Internet erreichbar machen zu müssen.
Für einen Ex-Windows-User:
scp datei benutzername@serveradresse:/zielverzeichnis,
Benutzername vom aktuellen Computer?
serveradresse in 192.168…..
Zielverzeichnis (am Server?)
ssh-copy-id benutzername@serveradresse.
bitte mit Beispiel für ganz Unerfahrene.
Alles schon ganz gut, aber nicht wirklich brauchbar
Vielen Dank für deinen Kommentar und die ehrliche Kritik. Du hast recht: Gerade für Einsteiger sind konkrete Beispiele mit vollständigen Befehlen deutlich hilfreicher als allgemeine Platzhalter.
Ich habe deine Rückmeldung deshalb zum Anlass genommen, den Artikel komplett zu überarbeiten und um ausführliche Schritt-für-Schritt-Anleitungen zu ergänzen.
Zu deinen Fragen:
192.168.178.50sein./home/max/.Ein vollständiger Befehl sieht dann so aus:
scp datei.txt max@192.168.178.50:/home/max/Damit wird die Datei
datei.txtaus dem aktuellen Verzeichnis deines Computers in das Verzeichnis/home/max/auf dem Linux-Server kopiert.Auch die Einrichtung von SSH-Schlüsseln habe ich jetzt ausführlicher erklärt – einschließlich der Besonderheit, dass
ssh-copy-idunter Windows nicht standardmäßig verfügbar ist.Vielleicht schaust du dir die überarbeitete Anleitung noch einmal an. Ich hoffe, dass die Beispiele jetzt verständlicher und vor allem praktisch nachvollziehbar sind.
Nochmals vielen Dank für deinen Hinweis. Solche Rückmeldungen helfen mir, meine Anleitungen zu verbessern.
vielen dank