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

So richten Sie SSH unter CentOS und RHEL ein

SSH (Secure Shell) ist ein sicheres Netzwerkprotokoll, das auf der Client-Server-Architektur basiert und Ihnen den sicheren Zugriff auf entfernte Computer/Server über das Netzwerk ermöglicht.

SSH wird häufig von Systemadministratoren für die Verbindung zu Remote-Servern verwendet. Dadurch können Administratoren Server und Anwendungen jederzeit und überall einfach und sicher aus der Ferne verwalten.

In diesem Leitfaden zeige ich Ihnen, wie Sie SSH auf CentOS/RHEL-Systemen einrichten und aktivieren. Wenn SSH auf diesem CentOS-System aktiviert ist, sollten Sie über seine IP-Adresse von anderen Computern aus auf dieses System zugreifen können.

Dieses Tutorial enthält auch die Schritte zum Ändern des Standard-SSH-Ports, zum Deaktivieren der SSH-Anmeldung für den Root-Benutzer und zum Einrichten von firewalld zum Sichern Ihres SSH-Servers.

Um diesen Leitfaden abzuschließen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

  • Ein CentOS/RHEL-Linux-System. Sie können es auf Ihrer physischen Maschine/echter Hardware installieren oder die virtuelle Maschine über KVM/VirtualBox verwenden oder Drittanbieter-Cloud-Anbieter wie Linode verwenden (aber sie haben normalerweise bereits SSH aktiviert).
  • Ein Nicht-Root-Benutzer mit sudo/root-Berechtigungen. Dieser Benutzer wird zum Ändern Ihres Systems verwendet. Und am Ende kann dieser Benutzer verwendet werden, um sich bei Ihrem Server anzumelden.

Installieren von OpenSSH-Paketen

OpenSSH ist eine der beliebtesten Softwareimplementierungen des SSH-Protokolls. Es wird von Millionen von Linux-Servern verwendet und wird zu einem kritischen Bestandteil der Serverumgebung. Standardmäßig ist OpenSSH in den meisten Linux-Distributions-Repositories verfügbar, einschließlich CentOS- und RHEL-Systemen.

Bevor Sie beginnen, aktualisieren Sie Ihren Paketindex mit dem DNF-Paketmanager wie unten beschrieben.

sudo dnf check-update

Installieren Sie als Nächstes OpenSSH-Pakete auf den CentOS/RHEL-Systemen mit dem folgenden Befehl. Dieser Befehl installiert OpenSSH-Serverpakete sowie OpenSSH-Clientsoftware.

sudo dnf install openssh-server openssh-clients -y

Führen Sie nach Abschluss der OpenSSH-Installation den folgenden Befehl aus, um sshd zu starten Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.

sudo systemctl enable --now sshd

Überprüfen Sie nun die sshd Dienststatus, indem Sie den folgenden Befehl ausführen.

sudo systemctl status sshd

Sie erhalten eine Ausgabe wie im folgenden Screenshot. Die sshd Dienst ist active (running) .

SSH-Server konfigurieren

Standardmäßig ist die SSH-Konfiguration unter /etc/ssh verfügbar Verzeichnis, und die Hauptkonfigurationsdatei ist sshd_config . Diese Datei enthält einige grundlegende SSH-Konfigurationen, wie z. B. ListenAddress das bestimmt die IP-Adresse des laufenden SSH-Dienstes, Port zum Einrichten des SSH-Dienstports, Authentifizierungsmethoden und vielem mehr.

In diesem Abschnitt ändern Sie die Konfiguration sshd_config , ändern Sie dann den Standard-SSH-Port und deaktivieren Sie die Anmeldung für den Root-Benutzer.

Diese Einstellung wird aus Sicherheitsgründen empfohlen, um die Serversicherheit zu erhöhen und Brute-Force-Angriffe auf Ihren Server zu reduzieren.

Öffnen Sie nun die Datei sshd_config mit vi Editor oder Ihren bevorzugten Editor.

sudo vi /etc/ssh/sshd_config

Bevor Sie mit der Bearbeitung der Datei beginnen, müssen Sie wissen, dass Zeilen mit # beginnen und Leerzeilen werden als Kommentar interpretiert.

Ändern Sie oben in der Zeile den Standard-SSH-Port von 22 zu Ihrem bevorzugten Hafen. Dieses Tutorial verwendet den nicht standardmäßigen Port 2028 für SSH.

Port 2028
⚠️Bitte stellen Sie sicher, dass Sie einen Nicht-Root-Benutzer mit bereits aktiviertem sudo-Zugriff auf diesem System haben. Andernfalls können Sie sich möglicherweise nicht remote bei Ihrem Server anmelden, wenn Sie die Root-Anmeldung deaktivieren.

Ändern Sie als Nächstes die Option PermitRootLogin yes auf PermitRootLogin no . Dadurch wird die SSH-Anmeldung für den Benutzer root deaktiviert Benutzer. Optional können Sie # hinzufügen am Anfang der Zeile PermitRootLogin .

PermitRootLogin no

Speichern und schließen Sie die Datei.

Nachdem Sie Änderungen vorgenommen haben, überprüfen Sie die SSH-Konfiguration und starten Sie dann sshd neu Dienst.

sshd -t
sudo systemctl restart sshd

Jetzt können Sie sich mit Ihrem SSH-Server verbinden, indem Sie ssh ausführen Befehl unten.

ssh [email protected] -p PORT

Das -p Option wird verwendet, um den Port Ihres SSH-Servers anzugeben.

In diesem Abschnitt haben Sie die grundlegende Konfiguration zum Sichern des SSH-Servers abgeschlossen, indem Sie den Standard-SSH-Port geändert und die Anmeldung für root deaktiviert haben Benutzer. Außerdem haben Sie gelernt, sich mit einem nicht standardmäßigen Port mit dem SSH-Server zu verbinden. Als Nächstes installieren und konfigurieren Sie firewalld.

Installieren und Konfigurieren von Firewalld

Wenn Sie den CentOS/RHEL-Server im öffentlichen Internet verwenden, z. B. einen Cloud-Server, müssen Sie möglicherweise die Firewall aktivieren. Dies erhöht die Sicherheit Ihres Servers, indem der Zugriff nur auf bestimmte Dienste wie SSH, HTTP und HTTPS beschränkt wird. Bei einer CentOS/RHEL-basierten Distribution ist firewalld das standardmäßige Firewall-Paket, das Sie auf Ihrem System installieren können.

In diesem Abschnitt installieren Sie firewalld und richten seine offenen Ports für Ihren SSH-Server ein.

Um Firewalld zu installieren, führen Sie dnf aus Befehl unten.

sudo dnf install firewalld -y

Starten und aktivieren Sie nach Abschluss der Firewalld-Installation die firewalld Service. Überprüfen Sie dann seinen Status, indem Sie den folgenden Befehl ausführen.

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

Sie erhalten eine ähnliche Ausgabe wie im folgenden Screenshot. Die firewalld Dienst ist active (running) .

Für die Interaktion mit Firewalld können Sie den Befehl firewall-cmd verwenden . Es ist die Befehlszeilenschnittstelle zum Verwalten von Firewalld-Regeln. Sie können firewall-cmd verwenden um Firewall-Regeln hinzuzufügen, zu entfernen und zu ändern. Und es gibt noch viel mehr, was Sie mit firewall-cmd tun können .

Um nun den benutzerdefinierten SSH-Port zu Ihrem System hinzuzufügen, führen Sie firewall-cmd aus Befehl unten.

sudo firewall-cmd --add-port=2028/tcp --permanent

Sie erhalten die Ausgabe success , was bedeutet, dass der Vorgang erfolgreich und abgeschlossen ist.

Dieses Beispiel verwendet den Port 2028 als benutzerdefinierten SSH-Port. und der SSH-Dienst läuft auf dem TCP-Port, also müssen Sie den Port und das Protokoll wie 2028/tcp angeben . Die Option --permanent macht diese Regel dauerhaft.

Als nächstes laden Sie die Firewall-Regeln neu, um eine neue Konfiguration mit dem folgenden Befehl anzuwenden.

sudo firewall-cmd --reload

Sie haben den benutzerdefinierten SSH-Port zu firewalld hinzugefügt. Führen Sie den folgenden Befehl aus, um alle aktivierten Regeln aufzulisten.

sudo firewall-cmd --list-all

Jetzt sehen Sie eine Liste der aktivierten Regeln in firewalld. Die Dienste SSH, Cockpit und dhcp sind standardmäßig aktiviert.

Um die Standard-SSH-Regel zu entfernen, führen Sie firewall-cmd aus Befehl unten. Laden Sie dann die Firewall-Regeln erneut.

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Jetzt haben Sie die Installation und Konfiguration von firewalld abgeschlossen, um Ihren SSH-Server zu sichern.

Schlussfolgerung

In diesem Handbuch haben Sie die Installation und Konfiguration von SSH auf dem CentOS/RHEL-System abgeschlossen. Sie haben Ihren SSH-Server gesichert, indem Sie den Standardport geändert und die Anmeldung für root deaktiviert haben Benutzer. Außerdem haben Sie die Firewalld-Installation und -Konfiguration auf dem CentOS/RHEL-System abgeschlossen, um den SSH-Server zu sichern.

Lassen Sie uns wissen, wenn Sie Fragen haben.


Linux
  1. DHCP-Server auf CentOS 8 einrichten – wie geht das?

  2. So richten Sie VSFTPD unter CentOS 8 ein

  3. So erstellen Sie ein SSH-Banner in CentOS/RHEL Server

  4. CentOS / RHEL 7:So legen Sie das Standardziel fest (Standard-Runlevel)

  5. CentOS / RHEL :So konfigurieren Sie einen DHCP-Server

So richten Sie einen OpenVPN-Server unter CentOS 7 ein

So installieren Sie Redis Server auf CentOS 8 / RHEL 8

So richten Sie den NFS-Server unter CentOS 8 / RHEL 8 ein

So richten Sie einen DHCP-Server unter CentOS 8 ein

So richten Sie einen TeamSpeak-Server unter CentOS 7 ein

So richten Sie einen Minecraft-Server unter CentOS 7 ein