SSH steht für Secure Shell und ist ein Protokoll, das für den sicheren Zugriff auf einen Remote-Server in einem lokalen Netzwerk oder Internet für Konfiguration, Verwaltung, Überwachung und Fehlerbehebung usw. verwendet wird.
In diesem Artikel werde ich erläutern, wie Sie einen Remote-Linux-Server mit Hilfe von SSH verwalten können.
Ich habe alle Befehle auf meinen Debian 10-Rechnern ausgeführt.
Voraussetzungen
Sie müssen Folgendes haben.
- Zwei Debian 10-Rechner mit Root-Rechten.
- IP-Adresse, Benutzername und Passwort des Remote-Computers.
- Internetverbindung auf beiden Rechnern.
Wie installiere ich einen offenen SSH-Server?
Nachdem Sie eine neue Linux-Maschine in Ihrer Infrastruktur eingerichtet haben, ist es wichtig, sie für den Fernzugriff vorzubereiten. Daher ist es zwingend erforderlich, open ssh auf einem entfernten Server oder Rechner zu installieren, auf den Sie zugreifen möchten.
Führen Sie vor der Installation eines offenen SSH-Servers den folgenden Befehl aus, um das Repository zu aktualisieren.
apt-get update
Warten Sie, bis der Vorgang abgeschlossen ist.
Führen Sie nach dem Aktualisieren des Repositorys den folgenden Befehl mit Root-Rechten aus, um einen offenen SSH-Server zu installieren.
apt-get install openssh-server
Wenn Sie zur Bestätigung aufgefordert werden, drücken Sie auf der Tastatur „y“ und warten Sie, bis die Installation abgeschlossen ist. Dies kann einige Minuten dauern.
SSH-Server-Einstellungen konfigurieren
Sobald Open SSh auf der Serverseite installiert wurde, können wir die grundlegenden Konfigurationseinstellungen bearbeiten. Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus.
nano /etc/ssh/sshd_config
Das Folgende ist die Beispielausgabe.
Sie können die verschiedenen Parameter in der obigen Datei ändern.
Standardmäßig lauscht SSH auf Port 22. Sie können zu Ihrem gewünschten Port wechseln. Sie können auch die maximalen Sitzungen (MaxSessions) ändern, die gleichzeitig mit dem Server aufgebaut werden können, 10 ist der Standardwert.
SSH-Port des Servers ändern
Wie bereits erwähnt, lauscht der Server standardmäßig auf Port 22. Wenn Sie Ihren Server so konfigurieren möchten, dass er einen bestimmten Port abhört, gehen Sie wie folgt vor.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus.
nano /etc/ssh/sshd_config
Eine Datei sollte geöffnet werden, wie im obigen Screenshot gezeigt.
Suchen Sie Port 22 oder #Port 22 und geben Sie die gewünschte Portnummer ohne das #-Zeichen ein.
Es wird empfohlen, die Portnummer zwischen 1024 und 65535 zu verwenden, da 0-1023 Ports für bestimmte Dienste reserviert sind.
Nehmen wir an, um 2222 zuzuweisen, schreiben Sie Folgendes in die SSH-Konfigurationsdatei.
Port 2222
Unten sehen Sie die Beispielausgabe nach dem Ändern der Portnummer.
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl auf dem Terminal ausführen.
service ssh restart
Root-Login auf dem SSH-Server aktivieren
Standardmäßig können Sie sich aus Sicherheitsgründen nicht direkt mit Root-Rechten am SSH-Server anmelden. Wenn Sie diese Anmeldung aktivieren möchten, müssen Sie Änderungen an der Konfigurationsdatei des SSH-Servers vornehmen.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus, um die Konfigurationsdatei zu öffnen.
nano /etc/ssh/sshd_config
Fügen Sie die folgende Zeile im Authentifizierungsblock hinzu,
PermitRootLogin ja
Unten sehen Sie die Beispielausgabe nach Änderungen in der Konfigurationsdatei.
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl auf dem Terminal mit Root-Rechten ausführen.
service ssh restart
Reduzierung der fehlgeschlagenen Anmeldeversuche beim SSH-Server
Standardmäßig können Sie 6 Versuche unternehmen, sich beim SSH-Server anzumelden. Sobald der Wert die Hälfte von 6 erreicht, werden weitere Anmeldefehler protokolliert. Wenn Sie diesen Wert ändern möchten, müssen Sie den Parameter MaxAuthTries in der Konfigurationsdatei des SSH-Servers anpassen.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus.
Fügen Sie die folgende Zeile (angenommen, Sie möchten diesen Wert auf 1 setzen) im Authentication-Block hinzu.
MaxAuthTries 1
Unten sehen Sie die Beispielausgabe nach Änderungen in der Datei.
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl auf dem Terminal mit Root-Rechten ausführen.
service ssh restart
Unten ist die Beispielausgabe.
Nach einem einzelnen Anmeldefehler erhalten Sie zu viele Authentifizierungsfehlermeldungen, wie im folgenden Screenshot gezeigt.
Den SSH-Server zwingen, auf bestimmte IPs zu hören
Standardmäßig überwacht der SSH-Server alle IPs, die Ihrem SSH-Server zugewiesen sind. Durch Änderungen in der Konfigurationsdatei können Sie Ihren SSH-Server jedoch dazu zwingen, auf bestimmte IPs zu hören. So geht's.
Angenommen, ich habe meiner Schnittstelle zwei IP-Adressen (10.1.1.2 und 10.1.1.3) zugewiesen, wie im folgenden Screenshot gezeigt. Ich möchte meinen Server zwingen, auf die IP-Adresse 10.1.1.2 zu hören.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus, um die SSH-Konfigurationsdatei zu öffnen.
nano /etc/ssh/sshd_config
Fügen Sie am Anfang der Datei die folgende Zeile hinzu:
ListenAddress 10.1.1.2
Unten sehen Sie die Beispielausgabe nach Änderungen in der Konfigurationsdatei.
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl auf dem Terminal ausführen.
Service-SSH-Neustart
Gestatten oder verweigern Sie bestimmten Benutzern oder Gruppen, sich beim SSH-Server anzumelden
Standardmäßig kann sich jeder Benutzer remote beim SSH-Server anmelden. Sie können jedoch bestimmten Benutzern oder Gruppen erlauben oder verweigern, sich beim SSH-Server anzumelden.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus, um die Konfigurationsdatei des SSH-Servers zu öffnen.
nano /etc/ssh/sshd_config
Unten ist die Beispielausgabe.
Angenommen, Sie möchten nur dem Benutzer „tony“ erlauben, sich remote beim SSH-Server anzumelden. Kein anderer Benutzer kann sich beim SSH-Server anmelden. Wenn Sie mehrere Benutzer haben, sollten diese durch ein Leerzeichen getrennt werden.
Fügen Sie die folgende Zeile in der Konfigurationsdatei des SSH-Servers hinzu.
AllowUsers tony
Unten ist die Beispielkonfigurationsdatei nach dem Hinzufügen der Zeile,
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl mit Root-Rechten auf dem Terminal ausführen,
service ssh restart
Wenn Sie allen Benutzern erlauben möchten, sich remote mit dem SSH-Server zu verbinden, aber einen oder mehrere verweigern möchten, fügen Sie die folgenden Zeilen in die Serverkonfigurationsdatei ein. Die Benutzer sollten per Befehl getrennt werden. Angenommen, ich möchte nur den Benutzer „tony“ ablehnen, fügen Sie die folgende Zeile in die Serverkonfigurationsdatei ein.
DenyUsers tony
Unten ist die Beispielkonfigurationsdatei nach dem Hinzufügen der obigen Zeile.
Starten Sie den SSH-Dienst neu, indem Sie den folgenden Befehl mit Root-Rechten auf dem Terminal ausführen.
service ssh restart
Auf ähnliche Weise können Sie Gruppen von Benutzern erlauben oder verweigern, sich beim SSH-Server anzumelden, indem Sie die folgenden Zeilen in die Konfigurationsdatei einfügen.
AllowGroups <groupname>
oder
DenyGroups <groupname>
Wenn Sie mehrere Gruppen zulassen oder ablehnen möchten, können Sie sie durch Leerzeichen trennen.
Die Kombination aus Allow und Deny wird in der folgenden Reihenfolge verarbeitet.
DenyUsers, AllowUsers, DenyGroups und schließlich AllowGroups
Kulanzzeit für die Anmeldung ändern
Standardmäßig haben Sie nach SSH 2 Minuten Zeit, um sich bei einem Remote-Server anzumelden. Wenn Sie sich nicht innerhalb von 2 Minuten bei einem Remote-Server anmelden können, wird die SSH-Verbindung getrennt. So können Sie die Kulanzzeit für die Anmeldung ändern.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl mit Root-Rechten aus, um die Serverkonfigurationsdatei zu öffnen.
nano /etc/ssh/sshd_config
Unten ist die Beispielausgabe.
Suchen Sie die folgende Zeile,
#LoginGraceTime 2m
Ersetzen Sie diese Zeile durch Ihre gewünschte Kulanzzeit, sagen wir 1 Minute. Die vollständige Zeile sollte sein,
LoginGraceTime 1m
Unten sehen Sie die Beispielkonfigurationsdatei, nachdem Sie Änderungen vorgenommen haben.
Schließen Sie die Datei und starten Sie den SSH-Dienst neu, indem Sie den Befehl file eingeben.
service ssh restart
So installieren Sie den OpenSSH-Client
Der Debian 10-Rechner, der auf einen Remote-Rechner oder -Server zugreifen soll, wird als Client bezeichnet, und wir müssen den „Open SSH-Client“ darauf installieren.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um das Repository zu aktualisieren.
apt-get update
Warten Sie, bis der Vorgang abgeschlossen ist.
Sobald das Repository aktualisiert ist, führen Sie den folgenden Befehl aus, um einen offenen SSH-Client zu installieren.
apt-get install openssh-client
Wenn Sie zur Bestätigung aufgefordert werden, drücken Sie Y auf der Tastatur. Die Installation kann einige Minuten dauern, haben Sie daher bitte etwas Geduld.
Führen Sie den folgenden Befehl sowohl auf dem Client als auch auf dem Server aus, um zu bestätigen, dass der SSH-Dienst ausgeführt wird.
Sobald wir SSH sowohl auf dem Client als auch auf dem Server auf einem Remote-Rechner ausgeführt haben, können wir mit der Remote-Verwaltung fortfahren.
Verbindung zum entfernten Debian 10-Server mit SSH herstellen
Um sich mit dem entfernten Debian 10-Rechner zu verbinden, benötigen Sie seine IP-Adresse, seinen Benutzernamen und sein Passwort.
Es folgt die vollständige Syntax des Befehls, wenn Ihr SSH-Server den Standardport 22 abhört.
ssh <[email protected]>
Sie werden nach einem Benutzerkennwort gefragt, geben Sie es mit Hilfe der Tastatur ein und drücken Sie die Eingabetaste.
Angenommen, der Benutzer ist Tony und die IP-Adresse des Remote-Computers ist 10.1.1.2. Führen Sie den folgenden Befehl auf dem Terminal aus.
ssh [email protected]
Unten ist die Beispielausgabe.
Sie sollten jetzt sicher verbunden sein, wie im obigen Screenshot gezeigt.
Wenn Ihr SSH-Server jedoch auf einem anderen Port lauscht (angenommen 2222). Die vollständige Syntax des Befehls sollte wie folgt lauten.
ssh -p
Angenommen, der Benutzer ist Tony und die IP-Adresse des Remote-Computers ist 10.1.1.2. Führen Sie den folgenden Befehl auf dem Terminal aus.
ssh -p 2222 [email protected]
Schlussfolgerung
Das war also das Tutorial zur Fernverwaltung eines Linux-Servers mit SSH. Ich hoffe, es hat Ihnen gefallen.