Beim Erstellen oder Beitreten zu einem Cluster in RELIANOIDtauscht das System SSH-Schlüssel zwischen Knoten aus, um eine sichere Kommunikation herzustellen.
Wenn dieser Austausch fehlschlägt, wird in den Protokollen möglicherweise der folgende Fehler angezeigt:
(FEHLER) Cluster :: Austausch der SSH-Schlüssel-IDs fehlgeschlagen (FEHLER) Webgui :: Cluster wird aktiviert: Austausch der SSH-Schlüssel-IDs fehlgeschlagen
Symptome #
Die Clustererstellung oder -synchronisierung schlägt fehl in System > Cluster Abschnitt der Web-Benutzeroberfläche.
Die System > Protokolle > Syslog (/var/log/syslog) zeigt Fehler ähnlich den folgenden an:
ssh-copy-id: FEHLER: @@ ...
Dies weist darauf hin, dass sich der Remote-Host-Schlüssel geändert hat oder der lokale Knoten einen widersprüchlichen Eintrag in seinem SSH hat known_hosts Datei.
Verursachen #
Der Fehler tritt auf, weil:
- Der Remote-Clusterknoten wurde neu installiert, neu bereitgestellt oder sein SSH-Hostschlüssel wurde neu generiert.
- Der lokale Knoten hat noch den alten Host-Fingerabdruck gespeichert in
/root/.ssh/known_hosts. - Aus Sicherheitsgründen verweigert SSH die Verbindung, da der gespeicherte Schlüssel nicht mit dem neuen übereinstimmt.
Auflösung #
Entfernen Sie den alten SSH-Hostschlüsseleintrag #
Führen Sie auf dem Knoten, der den Fehler meldet, Folgendes aus:
ssh-keygen -f "/root/.ssh/known_hosts" -R "10.xyx"
Ersetzen 10.xyx mit der IP-Adresse des Remote-Knotens. Wenden Sie diesen Befehl in beiden Cluster-Knoten an, einschließlich der IP-Adresse des Remote-Knotens.
Dadurch werden veraltete Fingerabdrücke entfernt von known_hosts.
Überprüfen der Bereinigung #
Der Befehl sollte melden, dass Einträge gefunden und entfernt wurden. Beispiel:
# Host 10.xyx gefunden: Zeile 1 # Host 10.xyx gefunden: Zeile 2 # Host 10.xyx gefunden: Zeile 3 /root/.ssh/known_hosts aktualisiert. Ursprünglicher Inhalt als /root/.ssh/known_hosts.old beibehalten
Entfernen Sie die RSA-Schlüssel in jedem Knoten #
Bitte entfernen Sie von jedem Knoten die neu zu generierenden RSA-Schlüssel.
rm -f /root/.ssh/id_rsa*
Bewertung hosts.deny Datei #
Überprüfen Sie, ob ein Host im /etc/hosts.deny Datei. Der folgende Befehl sollte eine leere Ausgabe anzeigen.
grep -v "^#" /etc/hosts.deny
Falls die Antwort nicht leer ist, bearbeiten Sie die Datei /etc/hosts.deny und entfernen Sie die mit dem Remote-Host verbundene IP-Adresse.
Erstellen Sie den Clusterdienst neu #
Gehen Sie zum Abschnitt Web-UI System > Cluster
Erstellen Sie die Clusterkonfiguration neu oder aktivieren Sie sie erneut.
Der SSH-Schlüsselaustausch wird erneut versucht und sollte nun erfolgreich sein.
Zusätzliche Bemerkungen #
Wenn weiterhin Probleme auftreten, stellen Sie Folgendes sicher:
- Die Knoten können sich gegenseitig über SSH erreichen (
ssh root@<REMOTE IP>). - Systemuhren sind synchronisiert (verwenden Sie NTP).
- Keine Firewall-Regeln blockieren Port 22/TCP zwischen Knoten.
Nach Abschluss dieser Schritte sollte der Cluster erfolgreich erstellt werden, ohne dass der Fehler „Austausch der SSH-Schlüssel-IDs fehlgeschlagen“ auftritt.