SSH (steht für Secure Shell) ist ein Protokoll, das für den sicheren Zugriff auf ein entferntes System verwendet wird. Es ist das am häufigsten verwendete Protokoll in Linux-Systemen für die Remoteverwaltung, Verwaltung und Fehlerbehebung von Remoteservern.
In diesem Artikel geht es darum, wie man eine Remote-Verbindung zu Linux Server über SSH herstellt. Wir werden das OpenSSH-Dienstprogramm für die Remote-Verbindung über SSH verwenden.
Voraussetzungen
Im Folgenden sind einige Voraussetzungen aufgeführt, die Sie für die Remoteverbindung über SSH erfüllen müssen:
- Zwei Ubuntu-Rechner (für Remote-Server und -Client)
- Sudo-Benutzer sowohl auf dem Server als auch auf dem Client-Rechner
- IP-Adresse oder Hostname des Remote-Servers
- Portnummer, Benutzername und Passwort des Remote-Servers
SSH-Linux-Server
Um ein SSH-Linux-System zu erstellen, sind folgende Schritte erforderlich:
- Installieren von OpenSSH auf einem Remote-Server
- Konfigurieren von OpenSSH auf einem Remote-Server
- Installieren des OpenSSH-Clients auf dem lokalen Client-Rechner
- Zugriff auf entfernten Linux-Server über SSH-Client
Hinweis: Die hier besprochenen Befehle wurden auf Ubuntu 20.04 LTS getestet.
Schritt 1:Installieren von OpenSSH auf einem Remote-Server
OpenSSH ist ein Tool zur Fernverbindung des Systems über SSH. Sie müssen es auf dem System installieren, auf das Sie über SSH zugreifen möchten.
Öffnen Sie auf dem Remote-Server das Terminal und geben Sie den folgenden Befehl ein:
$ sudo apt update
Um dann den OpenSSH-Server zu installieren, geben Sie den folgenden Befehl im Terminal ein:
$ sudo apt install openssh-server
Geben Sie dann sudo password.
ein
Wenn Sie zur Bestätigung aufgefordert werden, drücken Sie y , danach beginnt das System mit der Installation.
Schritt 2:OpenSSH auf Remote-Server konfigurieren
Sobald die Installation von OpenSSH abgeschlossen ist, müssen Sie einige notwendige Konfigurationen vornehmen. Die SSH-Konfigurationsdatei ist /etc/ssh/sshd_config . Um die Konfigurationsdatei zu bearbeiten, geben Sie im Terminal den folgenden Befehl ein:
$ nano /etc/ssh/sshd_config
So sieht die OpenSSH-Konfigurationsdatei aus:
Bevor Sie Änderungen an dieser Datei vornehmen, ist es besser, mit dem folgenden Befehl eine Kopie der ursprünglichen Konfigurationsdatei zu erstellen:
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
Wir werden nur einige der Optionen konfigurieren und den Rest der Optionen auf den Standardeinstellungen belassen.
SSH-Listening-Port ändern
Standardmäßig läuft OpenSSH auf TCP-Port 22. Wenn Sie jedoch möchten, dass der OpenSSH-Server auf einem anderen Port lauscht (zwischen den Portnummern 1024 – 65535), können Sie dies wie folgt tun:
Bearbeiten Sie die /etc/ssh/sshd_config Konfigurationsdatei:
$ sudo nano /etc/ssh/sshd_config
Suchen Sie „Port 22“ in der Datei. Sie können Strg+W verwenden, um danach zu suchen.
Ersetzen Sie 22 durch die Portnummer, auf die Ihr OpenSSH-Server hören soll. Entfernen Sie außerdem das # Symbol vor der Zeile.
Um beispielsweise den OpenSSH-Listening-Port auf 2244 einzustellen, lautet die Zeile:
port 2244
Speichern Sie nun die Konfigurationsdatei.
Root-Login auf dem SSH-Server aktivieren
Standardmäßig ist die Root-Anmeldung auf dem OpenSSH-Server deaktiviert, was bedeutet, dass Sie sich nicht als Root-Benutzer anmelden können. Wenn Sie sich als Root-Benutzer bei Ihrem Remote-SSH-Server anmelden müssen, müssen Sie die Root-Anmeldung in der Open SSH-Konfiguration aktivieren.
Bearbeiten Sie die /etc/ssh/sshd_config Konfigurationsdatei:
$ sudo nano /etc/ssh/sshd_config
Suchen Sie PermitRootLogin Verbieten-Passwort und ersetzen Sie es durch die folgende Zeile. Entfernen Sie außerdem das # Symbol vor der Zeile.
PermitRootLogin yes
Speichern Sie nun die Konfigurationsdatei.
Reduzierung der Anzahl der Authentifizierungsversuche
Standardmäßig sind 6 Authentifizierungsversuche zulässig, um sich beim SSH-Server anzumelden. Sie können diese Authentifizierungsversuche reduzieren, indem Sie den Wert des Parameters MaxAuthTries ändern .
Zum Beispiel, um die Anzahl der Authentifizierungsversuche auf 3 zu reduzieren , bearbeiten Sie die /etc/ssh/sshd_config Konfigurationsdatei:
$ sudo nano /etc/ssh/sshd_config
Suchen Sie dann MaxAuthTries und ändern Sie seinen Wert auf 3 .
Entfernen Sie außerdem das # Symbol vor der Zeile.
MaxAuthTries 3
Speichern Sie nun die Konfigurationsdatei.
Gestatten oder verweigern Sie bestimmten Benutzern die Anmeldung beim SSH-Server
Standardmäßig dürfen sich alle Benutzerkonten über SSH beim Remote-System anmelden. Um nur bestimmten Benutzern die Anmeldung am SSH-Server zu erlauben, bearbeiten Sie die Datei /etc/ssh/sshd_config Datei:
$ sudo nano /etc/ssh/sshd_config
Fügen Sie dann die folgende Zeile in dieser Datei hinzu, indem Sie user1 ersetzen und Benutzer2 mit dem Namen der Benutzer, die sich anmelden dürfen.
AllowUsers user1 user2
Beispiel:
AllowUsers kbuzdar tin
Die obige Zeile ermöglicht es „kbuzdar“ und „tin“, sich über SSH anzumelden.
Um Benutzern den Zugriff auf den SSH-Server zu verweigern, fügen Sie in ähnlicher Weise die folgende Zeile in diese Datei ein, indem Sie user1 ersetzen und Benutzer2 mit dem Namen der Benutzer, die sich nicht anmelden dürfen.
DenyUsers user1 user2
Die obige Zeile erlaubt allen Benutzern außer „john“, sich über SSH anzumelden.
Speichern Sie nun die Konfigurationsdatei.
Nachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben, starten Sie den SSH-Dienst mit dem folgenden Befehl neu:
$ sudo service ssh restart
Schritt 3:OpenSSH-Client auf dem lokalen Client-Rechner installieren
Auf dem Client-Rechner, der sich über SSH mit dem Linux-Server verbinden möchte, müssen wir das OpenSSH-Client-Dienstprogramm installieren.
Um den OpenSSH-Client zu installieren, geben Sie den folgenden Befehl im Terminal des Client-Rechners ein:
$ sudo apt install openssh-client
Wenn Sie nach dem Passwort gefragt werden, geben Sie sudo password ein.
Wenn Sie zur Bestätigung aufgefordert werden, drücken Sie y , danach beginnt das System mit der Installation. Sobald die Installation abgeschlossen ist, können Sie den OpenSSH-Client verwenden.
Schritt 4:Zugriff auf den Linux-Server über den SSH-Client über LAN
Über den OpenSSH-Client können Sie entweder über die IP-Adresse oder den Hostnamen eine Verbindung zum SSH-Server über LAN herstellen. Verwenden Sie auf dem Computer des Clients die folgende Syntax, um den Remote-Server über SSH zu verbinden:
$ ssh [username]@[remoteserver IP or hostname]
Wenn Sie nach dem Passwort gefragt werden, geben Sie das Passwort des Benutzers ein. Sobald die Verbindung hergestellt ist, sehen Sie den Shell-Prompt für den Remote-Server.
In unserem Fall lautet die IP des Remote-Servers „192.168.72.157“ und der Benutzername „kbuzdar“. Daher wäre der Befehl:
$ ssh [email protected]
Falls Sie den OpenSSH-Listening-Port geändert haben, lautet der Befehl zum Verbinden mit dem SSH-Server:
$ ssh -p [port_number] [username]@[ip_address]
Beispiel:
$ ssh -p 2244 [email protected]
Zugriff auf den Linux-Server über den SSH-Client über das Internet
Um einen entfernten Server über das Internet zu verbinden, benötigen Sie die öffentliche IP des entfernten Servers und Sie müssen auch eine Portweiterleitung auf Ihrem Router einrichten. Hier sind die Schritte zum SSH-Remote-Server über das Internet:
1. Zuerst müssen Sie die öffentliche IP-Adresse des Remote-Servers herausfinden. Geben Sie dazu im Terminal des Remote-Rechners den folgenden Befehl ein:
$ curl ipaddr.pub
2. Jetzt müssen Sie die Weiterleitung auf dem Router einrichten. Die Einrichtung ist von Router zu Router unterschiedlich, aber bei fast allen Routern ist dies möglich.
3. Sobald Sie die öffentliche IP-Adresse des Remote-Rechners gefunden und die Portweiterleitung auf dem Router eingerichtet haben, verwenden Sie die folgende Syntax für SSH-Remote-Linux-Rechner:
$ ssh [username]@[public_ip_address]
Falls der Remote-Server so konfiguriert ist, dass er eine andere Portnummer als 22 verwendet, lautet die Syntax:
$ ssh -p [port_number] [username]@[public_ip_address]
So können Sie einen SSH-Linux-Server verwenden. Wir haben erklärt, wie man SSH-Remote-Linux-Server mit dem OpenSSH-Dienstprogramm durchführt. Wir haben auch einige grundlegende Konfigurationen besprochen, die Sie bei der Verbindung über SSH nützlich finden könnten. Jetzt können Sie Remote-Linux-Server zur Verwaltung und Fehlerbehebung einfach verwalten.