Heim  >  Artikel  >  System-Tutorial  >  So konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster

So konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster

WBOY
WBOYnach vorne
2024-01-16 19:15:05522Durchsuche

So konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster

Im täglichen Leben, egal ob in einer Testumgebung oder einer Produktionsumgebung, ist es bei der Installation und Konfiguration mehrerer Server (Cluster) oft notwendig, einen passwortfreien SSH-Zugriff auf Server im Cluster einzurichten. Beispielsweise die Installation und Konfiguration von Clustern wie Hadoop und HBase oder mehreren Servern, die eine passwortfreie SSH-Konfiguration erfordern, um den späteren Betrieb und die Wartung zu erleichtern.

Basierend auf dem jüngsten Prozess des Aufbaus einer Testumgebung werde ich eine Erklärung geben, wie man schnell den gegenseitigen SSH-Zugriff auf mehrere Server ohne Passwort konfiguriert. Es ist hauptsächlich in mehrere Schritte unterteilt: Ändern des Hostnamens, Konfigurieren des geheimen Schlüssels des Aggregationsservers, Aggregieren der geheimen Schlüssel anderer Server, Kopieren der Aggregationsschlüsseldatei, Generieren der know_hosts-Datei und Kopieren der know_hosts-Datei.

1. Clusterplanung

Host-IP

Hostname

10.141.93.101

dmz01

10.141.93.102

dmz02

10.141.93.103

inside01

10.141.93.104

inside02

10.141.93.105

inside03

10.141.93.106

inside04

10.141.93.107

inside05

10.141.93.108

inside06

10.141.93.109

inside07

10.141.93.110

inside08

10.141.93.111

inside09

10.141.93.112

inside10

10.141.93.113

inside11

10.141.93.114

inside12

10.141.93.115

inside13

10.141.93.116

inside14

10.141.93.117

inside15

10.141.93.118

inside16

Der Cluster verfügt über insgesamt 18 Server, aufgeteilt in 2 Server im DMZ-Bereich und 16 Server im INSIDE-Bereich. Wird hauptsächlich für Webserver und Anwendungsserver, Datenbanken, Caches usw. verwendet. Um die Bereitstellung von Anwendungen und die Verwaltung von Clusterservern zu erleichtern, sind 18 Server für den kennwortfreien gegenseitigen SSH-Zugriff konfiguriert.

2. Ändern Sie den Hostnamen

Unabhängig von der Erstinstallation des Systems oder Cloud-Hosts ist der Hostname „localhost“ oder „VM_75_173_centos“ nicht leicht von der Serverfunktion zu unterscheiden. Daher ist die Installation, Bereitstellung und Wartung einfach und der Hostname kann erneut geändert werden.
Um den Hostnamen zu ändern, verwenden Sie den folgenden Befehl:

hostnamectl set-hostname inside01

Verwenden Sie den obigen Befehl, um den Hostnamen zu ändern, und melden Sie sich erneut über SSH an. Sie werden sehen, dass der Hostname geändert wurde.

3. Konfigurieren Sie den geheimen Schlüssel des Aggregationsservers

Der sogenannte Aggregationsserver ist hier ein Server im ausgewählten Cluster, mit dem dann andere Server SSH ohne Passwortvertrauen durchführen. In diesem Artikel wird dmz01 (10.141.93.101) als Aggregationsserver ausgewählt. Das Beziehungsdiagramm sieht wie folgt aus:

So konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster

Andere Server führen eine passwortfreie Vertrauenskonfiguration für die SSH-Anmeldung bei dmz01 durch. Hier ist dmz01 der Aggregationsserver.

Der Befehl zum Konfigurieren des geheimen Schlüssels des Aggregationsservers lautet wie folgt:

[root@dmz01 ~]# ssh-keygen -t rsa

Generieren eines öffentlichen/privaten RSA-Schlüsselpaares.

Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/root/.ssh/id_rsa): [Schlüssel eingeben]

Geben Sie die Passphrase ein (leer für keine Passphrase): [Schlüssel eingeben]

Geben Sie dieselbe Passphrase erneut ein: [Eingabetaste]

Ihre Identifikation wurde in /root/.ssh/id_rsa.

gespeichert

Ihr öffentlicher Schlüssel wurde in /root/.ssh/id_rsa.pub.

gespeichert

Der Schlüsselfingerabdruck ist:

43:0d:08:18:ec:9e:d6:1f:ea:5f:04:30:0f:66:26:41 root@dmz01

Das zufällige Bild des Schlüssels ist:

+--[RSA 2048]----+

|. oE+O.. |

|. o= =. o |

|.  o

|.                          

|. o S |

|. + ..

|. o .. |

|. .                            

|. .... |

+------------------+

Geben Sie das Verzeichnis „/root/.ssh“ ein, kopieren und generieren Sie die Datei „authorized_keys“ und verwenden Sie den folgenden Befehl:

cat id_rsa.pub >>

Die Ergebnisse sind wie folgt:

[root@inside01 .ssh]#ll

insgesamt 12
-rw-r--r-- 1 Root Root 395 12. November 16:25 Authorized_keys

-rw------- 1 Wurzel Wurzel 1675 12. November 16:24 id_rsa

-rw-r--r-- 1 root root 395 12. November 16:24 id_rsa.pub



4. Andere Serverschlüssel kopieren

Nachdem Sie in Abschnitt 3 den geheimen Schlüssel des Aggregationsservers konfiguriert haben, müssen Sie die geheimen Schlüssel von 17 Servern konfigurieren, einschließlich dmz02, inside01, ..., inside16. Die Methode ist dieselbe wie der Befehl in Abschnitt 3.

Nachdem Sie die geheimen Schlüssel der anderen 17 Server konfiguriert haben, müssen Sie die geheimen Schlüssel der 17 Server auf den Aggregationsserver dmz01 kopieren. Der Kopierbefehl lautet wie folgt: [root@dmz01 .ssh]# ssh-copy-id -i dmz01

[root@inside01 .ssh]# ssh-copy-id -i dmz01


Kopieren Sie die geheimen Schlüssel von 17 Stationen nacheinander in dmz01.


5. Kopieren Sie die Aggregationsschlüsseldatei

Kopieren Sie die aggregierten Schlüsseldateien vom Aggregationsserver in das Verzeichnis „/root/.ssh“ der anderen 17 Server. Der Befehl lautet wie folgt:

[root@dmz01 .ssh]# scpauthorized_keys dmz02:/root/.ssh/

[root@dmz01 .ssh]# scpauthorized_keys inside01:/root/.ssh/

[root@dmz01 .ssh]# scpauthorized_keys inside16:/root/.ssh/
Passwort von root@inside16:

autorisierte_Schlüssel 100 % 7104 6,9 KB/s 00:00


Kopieren Sie die geheime Schlüsseldatei „authorized_keys“ über scp, wie oben gezeigt. Für diesen Vorgang ist die Eingabe eines Passworts erforderlich.
SSH-Passwortfreie Verifizierung:

[root@dmz01 .ssh]# ssh dmz02

Die Authentizität des Hosts „dmz02 (10.141.68.179)“ kann nicht festgestellt werden.
Der Fingerabdruck des ECDSA-Schlüssels ist 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66.

Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)? Warnung: „dmz02,10.141.68.179“ (ECDSA) dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Letzter Login: Sa. 12. Nov. 17:19:19 2016 von 10.141.93.186

Wie Sie oben sehen können, „ssh dmz02“, müssen Sie bei der SSH-Anmeldung am dmz02-Server kein Passwort mehr eingeben. Es wird jedoch angezeigt, dass dmz02 zur Listendatei „Know Hosts“ von dmz01 hinzugefügt werden muss. Auf diese Weise werden Sie beim nächsten Zugriff auf dmz02 über ssh nicht mehr aufgefordert, etwas zur Liste der bekannten Hosts hinzuzufügen.

6. Know_hosts-Datei generieren

Ssh die anderen 17 Server der Reihe nach vom Aggregationsserver und gehen Sie die vorherigen passwortfreien Einstellungen durch. Es ist nicht erforderlich, ein Passwort einzugeben, es werden jedoch Aufforderungen zur Aufnahme in die Liste der bekannten Hosts angezeigt.
Hinweis: Um Ihr eigenes dmz01 zur Know-Hosts-Datei hinzuzufügen, müssen Sie auch „[root@dmz01.ssh]# ssh dmz01“ eingeben.

Der Inhalt der schließlich generierten know_hosts-Datei lautet wie folgt:

So konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster

Sehen Sie sich die Anzahl der Zeilen in der Datei know_hosts an:

[root@dmz01 .ssh]# wc -lknown_hosts
18 bekannte_Hosts

Sie können für jeden Host eine Zeile sehen, die anzeigt, dass dmz01 alle 18 Server kennt, einschließlich sich selbst.

7. Kopieren Sie die know_hosts-Datei

Generieren Sie nach Abschnitt 6 die Know-Host-Einstellungen von 18 Servern für dmz01 und kopieren Sie die Datei /root/.ssh/know_hosts von dmz01 mit scp auf die anderen 17 Server.
SSH-Passwortfreie Anmeldebestätigung:

[root@dmz01 .ssh]# ssh inside10
Letzter Login: Di, 15. Nov. 15:01:18 2016 von 10.141.93.186
[root@inside10 ~]# ssh inside15
Letzter Login: Sa. 12. Nov. 17:52:29 2016 von 10.141.93.186
[root@inside15 ~]# ssh dmz02
Letzter Login: Sa. 12. Nov. 20:05:59 2016 von 10.141.93.186
[root@dmz02 ~]# ssh dmz01
Letzter Login: Do 17. Nov. 23:56:05 2016 vom 218.10.89.246
[root@dmz01 ~]# ssh inside15
Letzter Login: Fr. 18. Nov. 00:23:54 2016 von 10.141.114.152

Ssh-Passwortfreie Anmeldesequenz: dmz01àinside10àinside15àdmz02àdmz01àinside15.

8. Zusammenfassung

Dieser Artikel betrifft hauptsächlich die folgenden Befehle:

hostnamectl set-hostname inside01
ssh-keygen -t rsa
ssh-copy-id -i dmz01

Das war's für diesen Artikel. Ich hoffe, dass Sie diese Seite in Zukunft unterstützen werden.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie schnell den passwortfreien SSH-Zugriff in einem Linux-Cluster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen