So implementieren Sie die Fernzugriffskontrolle in Centos 7.4

So implementieren Sie die Fernzugriffskontrolle in Centos 7.4

1. SSH-Remoteverwaltung

SSH ist ein sicheres Kanalprotokoll, das hauptsächlich zur Implementierung von Remote-Login, Remote-Kopie und anderen Funktionen der Zeichenschnittstelle verwendet wird. Das SSH-Protokoll verschlüsselt die zwischen den beiden Kommunikationspartnern übertragenen Daten, einschließlich des Benutzerkennworts, das der Benutzer bei der Anmeldung eingibt. Im Vergleich zu früheren Anwendungen wie Telent, RSH und RCP bietet das SSH-Protokoll eine bessere Sicherheit.

1. OpenSSH-Server konfigurieren

Im Centos 7.4-System wird der OpenSSH-Server durch Softwarepakete wie openssh und openssh-server (standardmäßig installiert) bereitgestellt und sshd wurde als Standardsystemdienst hinzugefügt. Führen Sie den Befehl „systemctl start sshd“ aus, um den SSHD-Dienst zu starten. Die meisten Benutzer, einschließlich Root, können sich remote beim System anmelden. Die Konfigurationsdatei des SSHD-Dienstes befindet sich standardmäßig im Verzeichnis /etc/ssh/sshd_config. Durch die korrekte Anpassung der entsprechenden Konfigurationselemente kann die Sicherheit der SSHD-Remoteanmeldung weiter verbessert werden.

1) Optionen zur Dienstüberwachung

Die vom SSHD-Dienst verwendete Standard-Portnummer ist 22. Bei Bedarf wird empfohlen, diese Portnummer zu ändern und die spezifische IP-Adresse des abhörenden Dienstes anzugeben, um seine Verborgenheit im Netzwerk zu verbessern. Version V2 ist sicherer als Version V1. Das Deaktivieren der DNS-Reverse-Auflösung kann die Antwortgeschwindigkeit des Servers verbessern.

[root@centos01 ~]# vim /etc/ssh/sshd_config <!--Bearbeiten Sie die Hauptkonfigurationsdatei von SSHD-->
17 Port 22 <!--Der Abhörport ist 22-->
19 ListenAddress 192.168.100.10 <!--Die Abhöradresse ist 192.168.100.10-->
21 Protokoll 2 <!--SSH V2-Protokoll verwenden-->
118 UseDNS nein <!--DNS-Reverse-Auflösung deaktivieren-->
...... <!--Hier wurde ein Teil des Inhalts weggelassen-->
[root@centos01 ~]# systemctl restart sshd <!--SSHD-Dienst neu starten-->

2) Benutzer-Login-Kontrolle

Der SSHD-Dienst ermöglicht Root-Benutzern standardmäßig die Anmeldung, ist jedoch bei Verwendung über das Internet sehr unsicher. Bezüglich der Benutzeranmeldekontrolle des SSHD-Dienstes sollte dem Root-Benutzer bzw. Benutzern mit leerem Passwort die Anmeldung grundsätzlich untersagt werden. Darüber hinaus können Sie die Zeit für die Anmeldeüberprüfung (der Standardwert beträgt 2 Minuten) und die maximale Anzahl von Wiederholungsversuchen begrenzen. Wenn die Anmeldung nach Überschreiten des Limits immer noch fehlschlägt, wird die Verbindung getrennt.

[root@centos01 ~]# vim /etc/ssh/sshd_config <!--Bearbeiten Sie die Hauptkonfigurationsdatei von SSHD-->
 37 LoginGraceTime 2m <!--Die Anmeldeüberprüfung dauert 2 Minuten-->
 38 PermitRootLogin ja <!--Root-Benutzeranmeldung verbieten-->
 40 MaxAuthTries 6 <!--Die maximale Anzahl an Wiederholungsversuchen beträgt 6-->
 67 PermitEmptyPasswords nein <!--Benutzern mit leerem Passwort die Anmeldung verbieten-->
 ...... <!--Hier wurde ein Teil des Inhalts weggelassen-->
[root@centos01 ~]# systemctl restart sshd <!--SSHD-Dienst neu starten-->

2. Methode zur Anmeldeüberprüfung

Für die Fernverwaltung von Servern ist neben der Sicherheitskontrolle der Benutzerkonten auch die Methode zur Anmeldeüberprüfung sehr wichtig. Der SSHD-Dienst unterstützt zwei Authentifizierungsmethoden: Kennwortauthentifizierung und Schlüsselpaarauthentifizierung. Sie können festlegen, dass nur eine der beiden Methoden verwendet wird, oder beide aktivieren.

Kennwortüberprüfung: Überprüfen Sie den Anmeldenamen und das Kennwort des lokalen Systembenutzers auf dem Server. Diese Methode ist am einfachsten zu verwenden, aus Sicht des Clients besteht jedoch die Möglichkeit, dass die Verbindung zum Server hergestellt wird und dass aus Sicht des Servers die Abwehrfähigkeit gegenüber Dritten, die das Kennwort eruieren, relativ schwach ist.

Schlüsselpaar-Verifizierung: Um die Verifizierung zu bestehen, sind übereinstimmende Schlüsselinformationen erforderlich. Normalerweise wird zuerst ein Schlüsseldateipaar (öffentlicher Schlüssel und privater Schlüssel) auf dem Client erstellt und dann die öffentliche Schlüsseldatei am angegebenen Speicherort auf dem Server abgelegt. Bei der Remote-Anmeldung verwendet das System öffentliche und private Schlüssel zur Überprüfung der Verschlüsselungs-/Entschlüsselungszuordnung, wodurch die Sicherheit der Remote-Verwaltung erheblich verbessert wird. Diese Methode lässt sich nicht leicht imitieren und ermöglicht die Anmeldung ohne interaktive Anmeldung. Sie wird häufig in Shell verwendet.

Wenn sowohl die Kennwortauthentifizierung als auch die Schlüsselpaarauthentifizierung aktiviert sind, gibt der Server der Schlüsselpaarauthentifizierung Priorität. Für Server mit höheren Sicherheitsanforderungen wird empfohlen, die Kennwort-Authentifizierungsmethode zu deaktivieren und nur die Schlüsselpaar-Authentifizierungsmethode zu aktivieren. Wenn keine besonderen Anforderungen bestehen, können beide Methoden aktiviert werden.

[root@centos01 ~]# vim /etc/ssh/sshd_config <!--Bearbeiten Sie die Hauptkonfigurationsdatei von SSHD-->
 43 PubkeyAuthentication ja <!--Schlüsselpaar-Authentifizierung aktivieren-->
 47 AuthorizedKeysFile .ssh/authorized_keys <!--Geben Sie die öffentliche Schlüsselbibliotheksdatei an-->
 66 PasswordAuthentication ja <!--Passwortauthentifizierung aktivieren-->
...... <!--Hier wurde ein Teil des Inhalts weggelassen-->
[root@centos01 ~]# systemctl restart sshd <!--SSHD-Dienst neu starten-->

Die öffentliche Schlüsseldatei dient dazu, die von mehreren Clients hochgeladenen öffentlichen Schlüsseltexte zu speichern, um sie mit den lokalen privaten Schlüsseldateien der Clients abzugleichen.

2. Verwenden des SSH-Client-Programms

Im Centos 7.4-System wird der OpenSSH-Client durch das (standardmäßig installierte) Paket openssh-clients bereitgestellt, das den Befehl „ssh remote login“ sowie die Befehle „scp“, „sftp remote copy“ und „file transfer“ enthält.

1. Befehlsprogramm SSH Remote-Login

Mit dem Befehl „ssh“ können Sie sich remote beim SSHD-Dienst anmelden und den Benutzern so eine sichere Shell-Umgebung für die Verwaltung und Wartung des Servers bereitstellen. Bei der Verwendung sollten Sie den Anmeldebenutzer und die Zielhostadresse als Parameter angeben. Hier ist ein Beispiel:

[root@centos02 ~]# ssh [email protected]
Passwort von [email protected]: 
Letzte Anmeldung: Mo Nov 11 19:02:50 2019 von 192.168.100.254
[root@centos01 ~] 
[root@centos01 ~] 
[root@centos01 ~]# ssh [email protected]
Die Authentizität des Hosts „192.168.100.10 (192.168.100.10)“ kann nicht festgestellt werden.
Der ECDSA-Schlüsselfingerabdruck ist SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.
Der ECDSA-Schlüsselfingerabdruck lautet MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja <!--Taste akzeptieren-->
Warnung: „192.168.100.10“ (ECDSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Passwort von [email protected]: <!--Passwort eingeben-->
Letzte Anmeldung: Mo Nov 11 19:03:08 2019 von 192.168.100.20
[root@centos01 ~]# who <!--Bestätige den aktuellen Benutzer-->
root-pts/1 11.11.2019 19:03 (192.168.100.20)
root-pts/2 11.11.2019 19:04 (192.168.100.10)

Wenn der SSHD-Server einen nicht standardmäßigen Port (z. B. 2222) verwendet, müssen Sie die Portnummer beim Anmelden mit der Option „-p“ angeben. Hier ist ein Beispiel:

[root@centos01 ~]# vim /etc/ssh/sshd_config<!--Ändern Sie die SSH-Hauptkonfigurationsdatei-->
Port 2222 <!--Ändern Sie die Abhörportnummer auf 2222-->
[root@centos01 ~]# systemctl restart sshd <!--SSHD-Dienst neu starten-->
[root@centos02 ~]# ssh -p 2222 [email protected] <!--Client-Login ssh-->
Passwort von [email protected]: <!--Passwort eingeben-->
Letzte Anmeldung: Mo Nov 11 19:20:28 2019 von 192.168.100.10
[root@centos01 ~]# <!--Anmeldung erfolgreich-->

2. SCP-Remotekopie

Mit dem Befehl scp können Dateien über eine sichere SSH-Verbindung zwischen Remote-Hosts kopiert werden. Wenn Sie den Befehl scp verwenden, müssen Sie neben der Angabe von Kopierquelle und -ziel auch die Zielhostadresse und den Anmeldebenutzer angeben. Geben Sie nach der Ausführung das Bestätigungskennwort wie aufgefordert ein. Hier ist ein Beispiel:

[root@centos02 ~]# scp
[email protected]:/etc/ssh/sshd_config ./ 
     <!--Kopieren Sie die Daten des Remote-Hosts in die lokalen Daten und speichern Sie sie am aktuellen Speicherort-->
Passwort von [email protected]: <!--Passwort eingeben-->
sshd_config 100 % 3910 3,6 MB/s 00:00  
[root@centos02 ~]# scp -r ./sshd_config
[email protected]:/opt   
     <!--Laden Sie lokale Daten hoch, um sie im Remote-Host-Verzeichnis zuzulassen-->
Passwort von [email protected]: <!--Passwort eingeben-->
sshd_config 100 % 3910 1,2 MB/s 00:00  

3. sftp installiert FTP

Mit dem Befehl sftp können Sie über eine sichere SSH-Verbindung Dateien auf den Remote-Host hoch- und herunterladen. Dabei wird ein FTP-ähnlicher Anmeldevorgang und eine interaktive Umgebung verwendet, die die Verwaltung von Verzeichnisressourcen erleichtert. Hier ist ein Beispiel:

[root@centos01 ~]# cd /opt/ <!--Geben Sie das opt-Verzeichnis ein-->
[root@centos01 opt]# sftp [email protected] <!--Bei sftp anmelden-->
Passwort von [email protected]: <!--Passwort eingeben-->
Verbunden mit 192.168.100.20.
sftp> pwd <!--Zeigt den Ort an, an dem sich der Client bei sftp anmeldet. Der Standardort ist das Hostverzeichnis -->
Remote-Arbeitsverzeichnis: /root
sftp> put sshd_config <!--Daten auf den Remote-Host hochladen-->
Hochladen von sshd_config nach /root/sshd_config
sshd_config 100 % 3910 6,4 MB/s 00:00  
sftp> get sshd_config <!--Daten lokal herunterladen-->
/root/sshd_config nach sshd_config abrufen
/root/sshd_config 100 % 3910 3,6 MB/s 00:00  
sftp> exit <!--Abmelden-->

3. Aufbau eines schlüsselpaarverifizierten SSH-Systems

Die Schlüsselpaar-Authentifizierung kann für eine bessere Sicherheit bei der Remote-Anmeldung sorgen. Der grundlegende Prozess zum Erstellen eines Schlüsselpaars zur Authentifizierung des SSH-Systems in Linux-Servern und -Clients. Wie in der Abbildung unten dargestellt, umfasst der gesamte Vorgang vier Schritte. Zuerst müssen Sie als Benutzer zhangsan auf dem SSH-Client ein Schlüsselpaar erstellen und die erstellte öffentliche Schlüsseldatei auf den SSH-Server hochladen. Anschließend müssen Sie die öffentlichen Schlüsselinformationen in die öffentliche Schlüsseldatenbank des Zielbenutzers lisi auf dem Server importieren. Melden Sie sich abschließend als Benutzer lisi auf dem Server an und verifizieren Sie sich.

1. Erstellen Sie ein Schlüsselpaar auf dem Client

Verwenden Sie auf dem Client das Tool „ssh-keygen“, um eine Schlüsselpaardatei für den aktuellen Benutzer zu erstellen. Die verfügbaren Verschlüsselungsalgorithmen sind ECDSA oder DSA (die Option „-t“ des Befehls ssh-keygen wird verwendet, um den Algorithmustyp anzugeben). Hier ist ein Beispiel:

[root@centos02 ~]# ssh-keygen -t dsa <!--Schlüsselpaar erstellen-->
Generieren eines öffentlichen/privaten DSA-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/root/.ssh/id_dsa): <!--Geben Sie den Speicherort des privaten Schlüssels an-->
Verzeichnis „/root/.ssh“ erstellt.
Passphrase eingeben (leer, wenn keine Passphrase vorhanden ist): <!--Private Schlüsselphrase festlegen-->
Geben Sie die gleiche Passphrase erneut ein: <!--Bestätigen Sie die festgelegte Phrase-->
Ihre Identifikation wurde in /root/.ssh/id_dsa gespeichert.
Ihr öffentlicher Schlüssel wurde in /root/.ssh/id_dsa.pub gespeichert.
Der Schlüsselfingerabdruck ist:
SHA256:zv0EdqIuOfwSovN2Dkij08y9wZ0f1+IyhY7LFNKKzkk root@centos02
Das Randomart-Bild des Schlüssels ist:
+---[DSA 1024]----+
| |
| |
| |
| . |
| o . o S.+ . |
| * *.+.=.+.= |
|o E.*o+==.+ o |
| =o..*Oo++ + |
| ++oo+*+o. . |
+----[SHA256]-----+
[root@centos02 ~]# ls -lh ~/.ssh/id_dsa* <!--Bestätigen Sie die generierte Schlüsseldatei-->
-rw------ 1 root root 668 12. November 16:11 /root/.ssh/id_dsa
-rw-r--r-- 1 root root 603 12. Nov. 16:11 /root/.ssh/id_dsa.pub

In der neu generierten Schlüsselpaardatei ist id_das die private Schlüsseldatei und die Standardberechtigung lautet 600. Die private Schlüsseldatei muss ordnungsgemäß aufbewahrt werden und darf nicht an Dritte weitergegeben werden. id_dsa.pub ist die öffentliche Schlüsseldatei, die zur Bereitstellung für den SSH-Server verwendet wird.

2. Laden Sie die öffentliche Schlüsseldatei auf den Server hoch

Laden Sie die im vorherigen Schritt generierte öffentliche Schlüsseldatei auf den Server hoch und stellen Sie sie in der öffentlichen Schlüsseldatenbank des serverseitigen Benutzers bereit. Beim Hochladen der öffentlichen Schlüsseldatei können Sie eine beliebige Methode wie SCP, FTP, HTTP wählen oder sie sogar per E-Mail senden.

root@centos02 ~]# ssh-copy-id -i ./.ssh/id_dsa.pub 
[email protected] <!--Laden Sie die öffentliche Schlüsseldatei auf den Server hoch und importieren Sie den Text des öffentlichen Schlüssels-->
/usr/bin/ssh-copy-id: INFO: Quelle des/der zu installierenden Schlüssel: "./.ssh/id_dsa.pub"
Die Authentizität des Hosts „192.168.100.10 (192.168.100.10)“ kann nicht festgestellt werden.
Der ECDSA-Schlüsselfingerabdruck ist SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.
Der ECDSA-Schlüsselfingerabdruck lautet MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja <!--Geben Sie „ja“ ein-->
/usr/bin/ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um alle bereits installierten herauszufiltern
/usr/bin/ssh-copy-id: INFO: 1 Schlüssel muss noch installiert werden -- wenn Sie jetzt dazu aufgefordert werden, installieren Sie die neuen Schlüssel
Passwort von [email protected]: <!--Passwort eingeben-->

Anzahl hinzugefügter Schlüssel: 1

Versuchen Sie nun, sich mit „ssh ‚[email protected]‘“ beim Computer anzumelden.
und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden.

3. Verwenden Sie die Schlüsselpaar-Authentifizierung auf dem Client

Sobald die private Schlüsseldatei (Client) und die öffentliche Schlüsseldatei (Server) bereitgestellt sind, können Sie sie im Client testen. Bestätigen Sie zunächst, dass der aktuelle Benutzer auf dem Client „root“ ist, und melden Sie sich dann mit dem SSH-Befehl remote als Serverbenutzer „root“ an. Wenn die Schlüsselpaar-Authentifizierungsmethode erfolgreich konfiguriert wurde, wird der Client aufgefordert, eine private Schlüsselphrase einzugeben, damit die private Schlüsseldatei zum Abgleich aufgerufen werden kann (wenn die private Schlüsselphrase nicht festgelegt ist, wird der Zielserver direkt angemeldet).

[root@centos02 ~]# ssh [email protected] <!--Beim SSH-Server anmelden-->
Letzte Anmeldung: Di 12. Nov 16:03:56 2019 von 192.168.100.254
[root@centos01 ~]# who <!--Melde dich erfolgreich beim Server an und prüfe, welche Benutzer vorhanden sind-->
root-Punkte/0 12.11.2019 17:35 (192.168.100.20)
root-pts/2 12.11.2019 16:03 (192.168.100.254)

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So installieren Sie MySQL auf CentOS und richten den Fernzugriff ein
  • So installieren Sie MySQL und aktivieren den Remotezugriff auf MySQL in CentOS

<<:  Eine kurze Erläuterung, wo das vom Knoten mithilfe von JWT generierte Token gespeichert werden soll

>>:  So implementieren Sie eine geplante Sicherung einer MySQL-Datenbank

Artikel empfehlen

Berechnungstabelle für die RGBA-Alpha-Transparenzkonvertierung

Konvertierung zwischen RGBA- und Filterwerten unt...

MySQL-Abfrage redundanter Indizes und ungenutzter Indexoperationen

MySQL 5.7 und höhere Versionen ermöglichen die di...

Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

Inhaltsverzeichnis Vom Vater zum Sohn: 1. Übergeb...

Detaillierte Erklärung des Prinzips zum Erstellen von Tomcat in Eclipse

Beim Erstellen eines Tomcat-Servers auf einem lok...

MySQL 8.0 Upgrade-Erfahrung

Inhaltsverzeichnis Vorwort 1. Deinstallieren Sie ...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

So erstellen Sie eine Testdatenbank mit zig Millionen Testdaten in MySQL

Manchmal müssen Sie basierend auf der offiziell v...

Eine kurze Einführung in das bionische Design im Internet-Webdesign

Beim Stichwort Bionik-Design denken viele an die E...

Der Unterschied zwischen Float- und Positionsattributen im CSS-Layout

CSS-Layout – Positionseigenschaft Das Positionsat...

MYSQL Left Join-Optimierung (10 Sekunden bis 20 Millisekunden)

Inhaltsverzeichnis 【Funktionshintergrund】 [Rohes ...