SSH (Secure Shell) ist eines der am häufigsten verwendeten Protokolle für den sicheren Remote-Zugriff auf einen Computer oder Server. Es bietet eine sichere Verbindung zwischen dem Client und dem Server, indem es während der Datenübertragung starke Verschlüsselung und Authentifizierung anwendet. In diesem Artikel erfahren Sie, wie Sie den Fernzugriff über SSH einrichten und Ihr System schützen können.
Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen und Berechtigungen für den Zugriff auf den Server oder Computer verfügen, bevor Sie mit der Einrichtung des Remote-Zugriffs über SSH beginnen. Es ist auch wichtig sicherzustellen, dass der SSH-Server bereits auf Ihrem System installiert ist. Wenn es noch keine gibt, können Sie es installieren, indem Sie den Anweisungen Ihres Betriebssystems folgen.
Einer der ersten Schritte beim Einrichten des Remote-Zugriffs über SSH besteht darin, ein Schlüsselpaar zu generieren. Ein Schlüsselpaar besteht aus einem privaten Schlüssel, der auf dem Clientcomputer gespeichert ist, und einem öffentlichen Schlüssel, der dem Server hinzugefügt wird. Mit diesen Schlüsseln authentifiziert das System den Client bei jeder Verbindung.
Schritt 1. Installieren von OpenSSH auf einem Remote-Server
Gehen Sie folgendermaßen vor, um OpenSSH auf einem Remote-Server zu installieren:
- Stellen Sie über die Befehlszeile mithilfe eines SSH-Clients eine Verbindung zu einem Remote-Server her.
- Installieren Sie das OpenSSH-Paket mithilfe des Paketmanagers Ihres Betriebssystems. Wenn Sie beispielsweise Ubuntu verwenden, führen Sie den Befehl aus:
Während des Installationsprozesses müssen Sie möglicherweise die Installation des Pakets bestätigen. Geben Sie ggf. das Systemadministratorkennwort ein.
Nach erfolgreicher Installation von OpenSSH wird der Server aktiviert und bereit sein, Remote-SSH-Verbindungen zu akzeptieren.
Schritt 2. Generieren von SSH-Schlüsseln
Nachdem die Installation von OpenSSH auf Ihrem Server abgeschlossen ist, können Sie mit der Generierung eines SSH-Schlüsselpaares beginnen. SSH-Schlüssel bestehen aus öffentlichen und privaten Schlüsseln. Der öffentliche Schlüssel wird auf den Server kopiert und der private Schlüssel wird auf Ihrem Clientgerät gespeichert.
Führen Sie die folgenden Schritte aus, um SSH-Schlüssel zu generieren:
- Öffnen Sie die Terminalanwendung auf Ihrem Clientgerät.
- Geben Sie den Befehl ein ssh-keygen und drücken Sie die Eingabetaste.
- Standardmäßig werden Sie aufgefordert, die Schlüssel in einem Verzeichnis zu speichern ~/.ssh/. Wenn Sie ein anderes Verzeichnis verwenden möchten, geben Sie den Pfad an.
- Nachdem Sie den Verzeichnispfad im Terminal eingegeben haben, werden Sie zur Eingabe des Passworts aufgefordert. Die Passphrase dient zur zusätzlichen Sicherheit und verschlüsselt Ihren privaten Schlüssel.
- Geben Sie die Passphrase mit Vorsicht ein und befolgen Sie die Sicherheitsempfehlungen.
- Der Schlüsselgenerierungsprozess kann einige Zeit in Anspruch nehmen, da das System einen zufälligen Wert generiert.
- Standardmäßig werden zwei Dateien erstellt: id_rsa (privater Schlüssel) und id_rsa.pub (öffentlicher Schlüssel) im angegebenen Verzeichnis.
Sie haben jetzt ein generiertes SSH-Schlüsselpaar, mit dem Sie den Remote-Zugriff über SSH einrichten können.
Schritt 3. Konfigurieren der SSH-Konfiguration
Das Konfigurieren der SSH-Konfiguration bietet die Möglichkeit, die Betriebsparameter des SSH-Servers an die Anforderungen und die Sicherheit Ihres Systems anzupassen. In diesem Schritt erfahren Sie, wie Sie Änderungen an der OpenSSH-Konfigurationsdatei vornehmen.
1. Öffnen Sie die SSH-Konfigurationsdatei zum Bearbeiten:
/etc/ssh/sshd_config
2. Suchen und bearbeiten Sie die gewünschten Einstellungen. Zum Beispiel:
# Измените порт, на котором слушает SSH-серверPort 2222# Разрешите только SSH-ключи для аутентификацииPasswordAuthentication no# Разрешите доступ только определенным пользователямAllowUsers user1 user2
3. Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei und schließen Sie sie.
4. Starten Sie den SSH-Server neu, damit die Änderungen wirksam werden:
sudo service ssh restart
Glückwunsch! Sie haben die SSH-Konfiguration erfolgreich konfiguriert.
Schritt 4. Übergang von der Passwortauthentifizierung zur Schlüsselauthentifizierung
Die Passwortauthentifizierung ist möglicherweise nicht der sicherste Weg, sich über SSH bei einem Remote-Server anzumelden. Es wird empfohlen, die Schlüsselauthentifizierung zu verwenden, um die Sicherheit zu erhöhen. Führen Sie dazu die folgenden Schritte aus:
- Generieren Sie ein Schlüsselpaar auf dem lokalen Computer mit dem Befehl ssh-keygen .
- Senden Sie den öffentlichen Schlüssel mithilfe des Befehls ssh-copy-id an den Remoteserver. Dadurch wird Ihr öffentlicher Schlüssel zur ~/ -Datei hinzugefügt.ssh/authorized_keys auf einem Remote-Server, sodass Sie sich mit einem Schlüssel anmelden können.
- Konfigurieren Sie einen SSH-Server auf dem Remote-Server, um nur die Schlüsselauthentifizierung zuzulassen und die Passwortauthentifizierung zu deaktivieren. Bearbeiten Sie dazu die Datei /etc/ssh/sshd_config, indem Sie die Werte PubkeyAuthentication yes und PasswordAuthentication no festlegen. Nachdem Sie die Änderungen vorgenommen haben, starten Sie den SSH-Dienst mit dem Befehl sudo service ssh restart neu.
- Überprüfen Sie, ob die Schlüsselauthentifizierung funktioniert, indem Sie versuchen, sich mit Ihrem öffentlichen Schlüssel am Remote-Server anzumelden. Wenn alles korrekt konfiguriert ist, wird die Anmeldung ohne Passworteingabe ausgeführt.
Jetzt können Sie den sicheren Fernzugriff über SSH genießen, ohne jedes Mal ein Passwort eingeben zu müssen. Stellen Sie sicher, dass Ihr öffentlicher Schlüssel passwortgeschützt ist und an einem sicheren Ort aufbewahrt wird.
Schritt 5. Firewall für den SSH-Zugriff konfigurieren
Bevor wir eine Verbindung zu einem Remote-Server über SSH herstellen können, müssen Sie die Firewall auf Ihrem Computer oder Server konfigurieren, um den Zugriff über das SSH-Protokoll zu ermöglichen.
Bei den meisten Betriebssystemen wird standardmäßig der SSH-Zugriff aus Sicherheitsgründen blockiert. Um die Firewall zu konfigurieren, benötigen Sie daher Administratorrechte.
Die folgenden Anweisungen helfen Ihnen, den Port für SSH auf verschiedenen Betriebssystemen zu öffnen:
- Linux
- Öffnen Sie das Terminal.
- Geben Sie den Befehl sudo ufw allow ssh ein und drücken Sie die Eingabetaste.
- Geben Sie das Administratorkennwort ein (es wird bei der Eingabe nicht angezeigt) und drücken Sie die Eingabetaste.
- macOS
- Öffnen Sie das Terminal.
- Geben Sie den Befehl sudo systemsetup -setremotelogin ein und drücken Sie die Eingabetaste.
- Geben Sie das Administratorkennwort ein (es wird bei der Eingabe nicht angezeigt) und drücken Sie die Eingabetaste.
- Windows
- Öffnen Sie eine Eingabeaufforderung mit Administratorrechten.
- Geben Sie netsh advfirewall firewall add rule name="SSH" dir=in action=allow protocol=TCP localport = 22 ein und drücken Sie die Eingabetaste.
Jetzt ist Ihre Firewall so konfiguriert, dass sie den Zugriff über das SSH-Protokoll ermöglicht. Sie können mit der Konfiguration des Remote-Zugriffs über SSH fortfahren und eine Verbindung zum Server herstellen.
Schritt 6. Verbindung mit einem Remote-Server über SSH herstellen
Nachdem Sie den Remote-Zugriff per SSH konfiguriert haben, können Sie eine Verbindung zu einem Remote-Server herstellen, indem Sie einen Befehl im Terminal Ihres lokalen Computers oder SSH-Clients verwenden.
Führen Sie den folgenden Befehl aus, um eine Verbindung mit einem Remoteserver herzustellen:
| ssh | benutzer@IP-Adresse |
Hier Benutzer - benutzername auf dem Remote-Server, und IP-Adresse - Die IP-Adresse des Remote-Servers.
Wenn Sie einen Standard-SSH-Port (Port 22) verwenden, können Sie den Befehl vereinfachen:
| ssh | benutzer@IP-Adresse | -p 22 |
Hier -p 22 gibt den SSH-Port an.
Nachdem Sie den Befehl ausgeführt haben, werden Sie möglicherweise aufgefordert, ein Passwort für den SSH-Benutzer auf dem Remote-Server einzugeben. Geben Sie das Passwort ein und drücken Sie die Eingabetaste.
Wenn ein SSH-Schlüssel anstelle eines Kennworts verwendet wird, müssen Sie kein Passwort eingeben. Die Verbindung wird automatisch hergestellt.
Wenn alle Einstellungen korrekt vorgenommen wurden, werden Sie über SSH erfolgreich eine Verbindung zum Remote-Server herstellen und auf die Befehlszeile zugreifen.