So erreichen Sie eine kennwortlose SSH-Anmeldung zwischen zwei beliebigen Knoten in einem Servercluster

So erreichen Sie eine kennwortlose SSH-Anmeldung zwischen zwei beliebigen Knoten in einem Servercluster

Ich bin auf ein Problem gestoßen, wie ich eine passwortlose Anmeldung zwischen zwei beliebigen Knoten in einem Servercluster erreichen kann. Jetzt habe ich einen Servercluster, der aus 10 Knoten mit folgenden IP-Adressen besteht:

192.168.0.1 # node1
192.168.0.2 # node2
...
192.168.0.10 # node10

Mein Benutzername auf diesen drei Knoten sind alle xyz, und das System auf diesen Knoten sind alle Ubuntu14.04.

Dies scheint eine kanonische Frage zu sein und sollte an vielen Stellen beantwortet worden sein, aber meine Suche mit Google liefert mir nur die Lösung für zwei Knoten. Übergeben Sie beispielsweise den in generierten öffentlichen Schlüssel node1an die authorized_keysDatei in, node2, ..., node10um eine kennwortlose Anmeldung von node1den übrigen Knoten aus zu ermöglichen. Aber wie lässt sich diese Methode auf zwei beliebige Knoten in einem Servercluster skalieren? Sollten wir in jedem Knoten manuell einen öffentlichen Schlüssel generieren und den öffentlichen Schlüssel jedes Knotens auf die übrigen Knoten kopieren? Gibt es eine allgemeine und praktische Methode?

Antwort1

Wenn Sie ein Cluster-Setup haben, verfügen Sie wahrscheinlich über ein gemeinsam genutztes Dateisystem. Wenn das der Fall ist, können Sie den SSH-Schlüssel einfach zum Server selbst hinzufügen. Wenn er eine Verbindung zu einem anderen Server herstellt, findet er seinen eigenen Schlüssel in der Liste der autorisierten Schlüssel. Dann können Sie von jedem Server aus eine Verbindung zu jedem Server herstellen.

Falls sie unterschiedliche Dateisysteme haben, müssen Sie dies manuell tun. Entweder Sie erstellen einen neuen SSH-Schlüssel für den xyzBenutzer und ssh-copy-idden für jeden der anderen Server. Dies skaliert wie N² mit der Anzahl der Server, das ist nicht cool.

Sie können einen SSH-Schlüssel generieren und ihn auf alle Maschinen kopieren /home/xyz/.ssh/id_rsa. id_rsa.pubRegistrieren Sie diesen Schlüssel dann auf allen Maschinen. Jetzt können Sie sich von jedem Server aus mit demselben SSH-Schlüssel bei jedem anderen Server anmelden.

Um dies bereitzustellen, würde ich ein kurzes Skript schreiben, das scpeine for-Schleife verwendet, um durch die Server zu iterieren.

verwandte Informationen