Bij het maken of toetreden tot een cluster in RELIANOID, het systeem wisselt SSH-sleutels uit tussen knooppunten om een veilige communicatie tot stand te brengen.
Als deze uitwisseling mislukt, ziet u mogelijk de volgende foutmelding in de logboeken:
(FOUT) cluster :: SSH-sleutel-ID-uitwisseling mislukt (FOUT) webgui :: Cluster inschakelen: SSH-sleutel-ID-uitwisseling mislukt
Kenmerken #
Het aanmaken of synchroniseren van een cluster mislukt in het gedeelte Systeem > Cluster van de webinterface.
De Systeem > Logboeken > syslog (/var/log/syslog) geeft fouten weer die lijken op:
ssh-copy-id: ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: @ WAARSCHUWING: IDENTIFICATIE VAN EXTERNE HOST IS GEWIJZIGD! @ ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: Hostsleutel voor 10.xyz is gewijzigd en u hebt strikte controle aangevraagd. ERROR: Verificatie van hostsleutel mislukt. (ERROR) cluster :: Er is een fout opgetreden bij het kopiëren van de Id-sleutel naar de host 10.xyz (ERROR) cluster :: Uitwisseling van SSH-sleutels-ID's mislukt
Dit geeft aan dat de sleutel van de externe host is gewijzigd of dat het lokale knooppunt een conflicterende vermelding in zijn SSH heeft known_hosts bestand.
Veroorzaken #
De fout treedt op omdat:
- Het externe clusterknooppunt is opnieuw geïnstalleerd, opnieuw geïmplementeerd of de SSH-hostsleutel is opnieuw gegenereerd.
- Het lokale knooppunt heeft nog steeds de oude host-vingerafdruk opgeslagen in
/root/.ssh/known_hosts. - Uit veiligheidsoverwegingen weigert SSH verbinding te maken, omdat de opgeslagen sleutel niet overeenkomt met de nieuwe sleutel.
Resolutie #
Verwijder de oude SSH-hostsleutelinvoer #
Voer het volgende uit op het knooppunt dat de fout meldt:
ssh-keygen -f "/root/.ssh/bekende_hosts" -R "10.xyx"
Vervang 10.xyx door het IP-adres van het externe knooppunt. Voer deze opdracht uit op beide clusterknooppunten, inclusief het IP-adres van het externe knooppunt.
Hiermee worden verouderde vingerafdrukken verwijderd known_hosts.
Controleer de opruiming #
De opdracht moet melden dat er vermeldingen zijn gevonden en verwijderd. Voorbeeld:
# Host 10.xyx gevonden: regel 1 # Host 10.xyx gevonden: regel 2 # Host 10.xyx gevonden: regel 3 /root/.ssh/known_hosts bijgewerkt. Originele inhoud behouden als /root/.ssh/known_hosts.old
Verwijder de RSA-sleutels in elk knooppunt #
Verwijder uit elk knooppunt de RSA-sleutels die opnieuw gegenereerd moeten worden.
rm -f /root/.ssh/id_rsa*
Beoordeling hosts.weigeren filet #
Controleer of er geen host is geblokkeerd in de /etc/hosts.deny bestand. De onderstaande opdracht zou een lege uitvoer moeten opleveren.
grep -v "^#" /etc/hosts.deny
Als het antwoord niet leeg is, bewerk dan het bestand /etc/hosts.deny en verwijder het IP-adres dat aan de externe host is gekoppeld.
De clusterservice opnieuw opbouwen #
Ga naar het gedeelte Web UI > Systeem > Cluster.
Bouw de clusterconfiguratie opnieuw of schakel deze opnieuw in.
Er wordt opnieuw geprobeerd de SSH-sleutel uit te wisselen en dit zou nu moeten lukken.
Aanvullende opmerkingen #
Als u nog steeds problemen ondervindt, zorg dan voor het volgende:
- De knooppunten kunnen elkaar bereiken via SSH (
ssh root@<REMOTE IP>). - Systeemklokken zijn gesynchroniseerd (gebruik NTP).
- Er zijn geen firewallregels die poort 22/TCP tussen knooppunten blokkeren.
Nadat u deze stappen hebt voltooid, zou het cluster succesvol moeten zijn opgebouwd, zonder de foutmelding 'SSH Keys Ids exchange failed'.