GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So verwalten Sie einen Linux-Server mit SSH aus der Ferne

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.

  1. Zwei Debian 10-Rechner mit Root-Rechten.
  2. IP-Adresse, Benutzername und Passwort des Remote-Computers.
  3. 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 [E-Mail-geschützte] Adresse

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.


Debian
  1. Wie man SSH unter Linux von Android aus macht

  2. So aktivieren Sie den SSH-Server unter Ubuntu 22.04 Jammy Linux

  3. So überwachen Sie die Sicherheit von Linux-Servern mit Osquery

  4. Wie registriere ich einen Linux-Server beim Windows-DNS-Server?

  5. Wie installiere ich Linux aus der Ferne über SSH?

So verwalten Sie Nodejs-Versionen mit n in Linux

So verwalten Sie das Linux-Dateisystem auf Ubuntu Server

So verwalten Sie Ubuntu Server mit SSH aus der Ferne

So führen Sie SSH zum Server über Linux

So verwalten Sie Speicher mit GParted Linux

So sichern Sie SSH mit Fail2Ban