Wie verwenden Sie den SSH-Login, um sich mit einem entfernten Server zu verbinden?
Secure Shell (SSH) ist ein Protokoll für den sicheren Zugriff auf entfernte Systeme und deren Verwaltung. Es verschlüsselt die Kommunikation zwischen einem Client und einem Server, schützt Daten vor unbefugtem Zugriff und erhöht die Systemsicherheit.
SSH bietet Entwicklern, Systemadministratoren und IT-Technikern eine sichere und effiziente Möglichkeit, aus der Ferne auf Computer zuzugreifen, ohne physisch vor Ort zu sein. Das verbessert die Produktivität und die Systemverwaltung. Außerdem ist SSH einfach zu verwenden und unterstützt verschiedene Tools und Clients. Neben dem Fernzugriff kann es auch für Dateiübertragungen, die Ausführung von Befehlen und sogar für das Tunneln von Verbindungen genutzt werden.
Dieser Leitfaden zeigt Ihnen, wie Sie mit dem SSH-Login-Befehl unter Windows, Linux und macOS per SSH eine Verbindung zu entfernten Servern herstellen.
Wie funktioniert SSH? (So verbinden Sie sich per SSH mit einem Server)
SSH stellt eine sichere Verbindung zwischen einem Client und einem SSH-Server (sshd) her.
Im vorherigen Abschnitt fungierte der Befehl ssh als Client, während auf dem entfernten System der SSH-Server (sshd) lief.
Die meisten Linux-Systeme starten den SSH-Server automatisch beim Booten. Falls er jedoch nicht läuft, müssen Sie möglicherweise über eine webbasierte oder lokale Konsole auf Ihren Server zugreifen, um ihn manuell zu starten.
Den SSH-Server unter Ubuntu starten
Wenn der SSH-Server nicht läuft, können Sie ihn mit folgendem Befehl starten:
$ sudo systemctl start ssh
Sobald der Server läuft, können Sie sich per SSH aus der Ferne anmelden.
$ sudo systemctl status ssh
Wie verwenden Sie SSH unter Windows?
Wenn Sie Windows 10 oder neuer verwenden, ist SSH bereits in das System integriert, sodass die Einrichtung einfach ist.
SSH unter Windows 10 aktivieren
- Öffnen Sie die Einstellungen und navigieren Sie zu Apps > Optionale Features.
- Prüfen Sie, ob der OpenSSH-Client installiert ist. Falls nicht, klicken Sie auf „Feature hinzufügen“, suchen Sie nach OpenSSH-Client und installieren Sie ihn.
Verbindung zu einem entfernten Server herstellen
Sobald SSH aktiviert ist, können Sie sich über PowerShell oder die Eingabeaufforderung mit einem entfernten System verbinden:
ssh username@server_ip
Ersetzen Sie username durch Ihren tatsächlichen Benutzernamen und server_ip durch die IP-Adresse des entfernten Servers.
PuTTY für ältere Windows-Versionen verwenden
Wenn Sie Windows 8 oder eine ältere Version verwenden, die SSH nicht standardmäßig enthält, können Sie PuTTY verwenden, einen kostenlosen SSH-Client mit grafischer Oberfläche:
1. Laden Sie PuTTY von der offiziellen PuTTY-Seite herunter und installieren Sie es.
2. Öffnen Sie das Programm und geben Sie die IP-Adresse des Servers ein.
3. Setzen Sie den Port auf 22 (Standard-SSH-Port).
PuTTY ist auch eine gute Option, wenn Sie eine grafische Oberfläche gegenüber Kommandozeilen-Tools bevorzugen.
Wie verwenden Sie den SSH-Login unter Linux?
Bei den meisten Linux-Distributionen ist SSH vorinstalliert. Um zu prüfen, ob SSH auf Ihrem System verfügbar ist, öffnen Sie das Terminal und führen Sie folgenden Befehl aus:
$ ssh
SSH unter Linux installieren
Wenn SSH nicht installiert ist, können Sie es über den Paketmanager hinzufügen. Für Debian-basierte Distributionen wie Ubuntu verwenden Sie:
$ sudo apt-get install openssh-client
Verbindung zu einem entfernten Server herstellen
Sobald SSH installiert ist, können Sie mit folgendem Befehl eine sichere Verbindung zu einem entfernten Server herstellen:
$ ssh username@server_ip
Im obigen Befehl müssen Sie username durch Ihren tatsächlichen Benutzernamen und server_ip durch die IP-Adresse des entfernten Servers ersetzen.
Wie verwenden Sie SSH auf dem Mac?
Gehen Sie wie folgt vor, um unter macOS eine SSH-Verbindung herzustellen:
Klicken Sie im Dock auf das Terminal-Symbol, um es zu starten.
SSH-Verbindung aufbauen: Verwenden Sie den SSH-Befehl in folgendem Format:
ssh username@hostname
Wenn der Benutzername beispielsweise test lautet und das Gerät Centos.local heißt, sieht der Befehl so aus:
ssh [email protected]
Verbindung bestätigen: Wenn Sie sich zum ersten Mal verbinden, geben Sie bei der Aufforderung Yes ein, um die Verbindung zu bestätigen.
Passwort eingeben: Geben Sie bei der Aufforderung das Passwort ein, um die Sitzung zu authentifizieren.
SSH-Sitzung beenden: Um die Sitzung zu beenden, drücken Sie entweder STRG+D oder geben Sie Folgendes ein:
exit
Das Schließen der Sitzung verhindert, dass versehentlich Befehle gesendet werden, und erhöht die Sicherheit.
Häufig verwendete SSH-Befehle und -Funktionen
Nachdem Sie eine SSH-Verbindung zu einem entfernten Server hergestellt haben, können Sie verschiedene Aufgaben ausführen, etwa Tunneling, Dateiübertragungen und die Ausführung entfernter Befehle.
1. Sichere Portweiterleitung mit SSH
SSH-Tunneling ermöglicht die sichere Weiterleitung von Datenverkehr zwischen Ihrem lokalen und dem entfernten System. Um eine lokale Portweiterleitung einzurichten, verwenden Sie:
ssh -L 8080:localhost:3306 [email protected]
In diesem Beispiel leitet Port 8080 auf Ihrem lokalen Rechner den Datenverkehr an Port 3306 auf dem entfernten Server unter 192.168.1.110 weiter.
2. Sichere Dateiübertragung und -verwaltung
SSH unterstützt außerdem verschlüsselte Dateiübertragungen mit SCP und SFTP.
- Eine Datei mit SCP vom lokalen auf das entfernte System übertragen:
scp report.pdf [email protected]:/home/user/documents/
Dieser Befehl kopiert report.pdf sicher vom lokalen System in das Verzeichnis /home/user/documents/ auf dem entfernten Server.
- SFTP zur Verwaltung entfernter Dateien verwenden:
sftp [email protected]
Sobald die Verbindung besteht, können Sie in Verzeichnissen navigieren und interaktiv Dateien hoch- und herunterladen.
3. SSH-Fernzugriff mit einer Konfigurationsdatei vereinfachen
Um Verbindungen zu vereinfachen, können Sie eine SSH-Datei (~/.ssh/config) konfigurieren, in der häufig verwendete Verbindungseinstellungen gespeichert werden.
Beispielkonfiguration:
Host devserver
HostName 192.168.1.110
User user
Port 2222
Anstatt den vollständigen Befehl einzugeben, können Sie sich nun so verbinden:
$ ssh devserver
4. Befehle auf einem entfernten Server ausführen
Um einen einzelnen Befehl aus der Ferne auszuführen, ohne sich interaktiv anzumelden, verwenden Sie:
$ ssh [email protected] "df -h"
Dieser Befehl ruft Informationen zur Festplattennutzung (df -h) vom entfernten Server ab.
Wie melden Sie sich per SSH mit Schlüsseln an?
Obwohl die Passwortauthentifizierung den Zugriff auf entfernte Systeme ermöglicht, ist die Verwendung von SSH-Schlüsseln eine effizientere und sicherere Methode.
Wie funktioniert die schlüsselbasierte Authentifizierung?
Die SSH-Schlüsselauthentifizierung arbeitet mit einem Paar kryptografischer Schlüssel:
- Privater Schlüssel: Dieser wird sicher auf dem Gerät des Clients gespeichert und sollte niemals weitergegeben werden.
- Öffentlicher Schlüssel: Dieser kann frei weitergegeben oder auf jedem Server hinterlegt werden, auf den Sie zugreifen möchten.
Bei einem Verbindungsversuch verwendet der entfernte Server den öffentlichen Schlüssel, um eine verschlüsselte Challenge-Nachricht an den Client zu senden. Der private Schlüssel des Clients entschlüsselt diese Nachricht und sendet eine Antwort, womit seine Identität bestätigt wird. Dieser Austausch erfolgt automatisch, sobald die SSH-Schlüssel konfiguriert sind.
SSH-Schlüssel generieren
Um die SSH-Schlüsselauthentifizierung einzurichten, generieren Sie das Schlüsselpaar auf Ihrem lokalen Rechner mit folgendem Befehl:
$ ssh-keygen -t rsa
Während der Einrichtung werden Sie möglicherweise aufgefordert, eine Passphrase für die Schlüsseldateien festzulegen, dies ist jedoch optional. Drücken Sie die Eingabetaste, um die Standardeinstellungen zu übernehmen. Die Schlüssel werden im Verzeichnis ~/.ssh/ unter diesen Dateinamen gespeichert:
Public key: ~/.ssh/id_rsa.pub
Private key: ~/.ssh/id_rsa
SSH-Schlüsseldateien überprüfen
Wechseln Sie in das Verzeichnis .ssh:
cd ~/.ssh
Prüfen Sie die Berechtigungen und Inhalte der generierten Schlüssel mit:
ls -l
Dieser Befehl zeigt Details zu den Dateien an und stellt sicher, dass sie korrekt erstellt wurden.
Wie deaktivieren Sie die Passwortauthentifizierung für SSH?
Sobald die SSH-Schlüsselauthentifizierung eingerichtet ist, können Sie die Sicherheit weiter erhöhen, indem Sie die passwortbasierte Anmeldung deaktivieren. So wird sichergestellt, dass nur Benutzer mit dem richtigen privaten Schlüssel auf den Server zugreifen können.
Wichtiger Hinweis: Stellen Sie vor dem Fortfahren sicher, dass Ihr öffentlicher Schlüssel ordnungsgemäß auf dem Server installiert ist. Andernfalls verlieren Sie möglicherweise den Zugriff.
SSH-Konfiguration ändern, um die Passwortanmeldung zu deaktivieren
Öffnen Sie die SSH-Konfigurationsdatei als Benutzer mit Root- oder sudo-Rechten:
$ sudo nano /etc/ssh/sshd_config
1. Suchen Sie die Zeile PasswordAuthentication, entfernen Sie das # am Anfang (falls vorhanden) und ändern Sie den Wert auf „no“:
PasswordAuthentication no
2. Stellen Sie sicher, dass die Public-Key-Authentifizierung aktiviert und die Challenge-Response-Authentifizierung deaktiviert ist. Diese Einstellungen sollten in der Datei vorhanden sein:
PubkeyAuthentication yes
ChallengeResponseAuthentication no
Speichern und schließen Sie die Datei.
Um die neuen Einstellungen zu aktivieren, starten Sie den SSH-Dienst neu mit:
$ sudo systemctl reload ssh
Auf diese Weise wird die Passwortauthentifizierung deaktiviert, und der Zugriff ist nur noch über die SSH-Schlüsselauthentifizierung möglich.
Best Practices für mehr Sicherheit bei SSH-Verbindungen
Um Ihre SSH-Verbindungen abzusichern, befolgen Sie diese Best Practices:
1. Verwenden Sie SSH-Schlüssel oder starke Passwörter: SSH-Schlüssel bieten mehr Sicherheit als Passwörter. Wenn Sie ein Passwort verwenden, sorgen Sie dafür, dass es lang, einzigartig und komplex ist und eine Mischung aus Buchstaben, Zahlen und Symbolen enthält.
2. Deaktivieren Sie den Root-Login: Verhindern Sie unbefugten Zugriff, indem Sie die direkte Root-Anmeldung in der SSH-Konfigurationsdatei (/etc/ssh/sshd_config) deaktivieren. Setzen Sie dazu:
PermitRootLogin no
3. Ändern Sie den Standard-SSH-Port: Ändern Sie den Standardport (22) in einen benutzerdefinierten Port, um das Risiko automatisierter Angriffe zu verringern. Passen Sie die Zeile „Port 22“ in sshd_config an und starten Sie SSH neu, damit die Änderungen wirksam werden.
4. Verwenden Sie Sicherheitstools: Installieren Sie Tools wie Fail2Ban, um wiederholte fehlgeschlagene Anmeldeversuche zu erkennen und zu blockieren und so Brute-Force-Angriffe zu verhindern:
$ sudo apt-get install fail2ban
Mit diesen Maßnahmen stärken Sie die Sicherheit Ihrer SSH-Verbindungen und schützen sich vor unbefugtem Zugriff.
Fazit
SSH zu beherrschen ist eine wertvolle Fähigkeit für alle, die mit Cloud Computing arbeiten. In diesem Leitfaden haben Sie gelernt, wie Sie sich per SSH mit einem entfernten Server verbinden. Wenn Sie die Funktionen weiter erkunden, werden Sie fortgeschrittene Möglichkeiten entdecken, die Ihnen Aufgaben erleichtern. Dank seiner hohen Sicherheit, Effizienz und Vielseitigkeit ist SSH zu einem weit verbreiteten Werkzeug in den unterschiedlichsten Anwendungsbereichen geworden.
Stellen Sie Ihren KVM-VPS sofort an 20 Standorten weltweit mit BlueVPS bereit! Genießen Sie nahtlosen Fernzugriff, volle Kontrolle und 100 % dedizierte Ressourcen dank KVM-Virtualisierung. Wählen Sie zwischen Linux- und Windows-basierten VPS mit allen gängigen Control Panels, unterstützt durch Experten-Support rund um die Uhr. Starten Sie jetzt für ein leistungsstarkes und zuverlässiges Hosting-Erlebnis!
Blog