Når du opretter eller deltager i en klynge i RELIANOID, systemet udveksler SSH-nøgler mellem noder for at etablere sikker kommunikation.
Hvis denne udveksling mislykkes, kan du muligvis se følgende fejl i logfilerne:
(FEJL) klynge :: Udveksling af SSH-nøgle-id'er mislykkedes (FEJL) webgui :: Aktivering af klynge: Udveksling af SSH-nøgle-id'er mislykkedes
Symptomer #
Klyngeoprettelse eller synkronisering mislykkes i System > Klynge sektion af webgrænsefladen.
System > Logfiler > syslog (/var/log/syslog) viser fejl svarende til:
ssh-copy-id: FEJL: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ FEJL: @ ADVARSEL: FJERN VÆRT-IDENTIFIKATION ER ÆNDRET! @ FEJL: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ FEJL: Værtsnøglen til 10.xyz er ændret, og du har anmodet om streng kontrol. FEJL: Verifikation af værtsnøgle mislykkedes. (FEJL) klynge :: Der opstod en fejl under kopiering af id-nøglen til værten 10.xyz (FEJL) klynge :: Udveksling af SSH-nøgler-id'er mislykkedes
Dette indikerer, at den eksterne værtsnøgle er ændret, eller at den lokale node har en modstridende post i sin SSH. known_hosts fil.
Årsag #
Fejlen opstår fordi:
- Den eksterne klyngenode blev geninstalleret, omimplementeret, eller dens SSH-værtsnøgle blev regenereret.
- Den lokale node har stadig det gamle værtsfingeraftryk gemt i
/root/.ssh/known_hosts. - Som en sikkerhedsforanstaltning nægter SSH at oprette forbindelse, da den gemte nøgle ikke matcher den nye.
Løsning #
Fjern den gamle SSH-værtsnøglepost #
På noden, der rapporterer fejlen, skal du køre:
ssh-keygen -f "/root/.ssh/known_hosts" -R "10.xyx"
udskifte 10.xyx med IP-adressen på den eksterne node. Anvend denne kommando i begge klyngenoder, inklusive den eksterne nodes IP-adresse.
Dette vil fjerne forældede fingeraftryk fra known_hosts.
Bekræft oprydningen #
Kommandoen skal rapportere, at der er fundet og fjernet poster. Eksempel:
# Host 10.xyx fundet: linje 1 # Host 10.xyx fundet: linje 2 # Host 10.xyx fundet: linje 3 /root/.ssh/known_hosts opdateret. Oprindeligt indhold bevaret som /root/.ssh/known_hosts.old
Fjern RSA-nøglerne i hver node #
Fjern venligst de RSA-nøgler, der skal regenereres, fra hver node.
rm -f /root/.ssh/id_rsa*
Anmeldelse værter.deny fil #
Kontroller, at der ikke er nogen blokeret vært i /etc/hosts.deny fil. Kommandoen nedenfor burde vise et tomt output.
grep -v "^#" /etc/hosts.deny
Hvis svaret ikke er tomt, skal du redigere filen /etc/hosts.deny og fjern IP-adressen relateret til den eksterne vært.
Genopbyg klyngetjenesten #
Gå til sektionen Web UI System > Klynge
Genopbyg eller genaktiver klyngekonfigurationen.
SSH-nøgleudvekslingen vil blive forsøgt igen og burde lykkes nu.
Yderligere bemærkninger #
Hvis du fortsat oplever problemer, skal du sørge for at:
- Noderne kan nå hinanden via SSH (
ssh root@<REMOTE IP>). - Systemure er synkroniserede (brug NTP).
- Ingen firewallregler blokerer port 22/TCP mellem noder.
Efter at have gennemført disse trin, burde klyngen blive bygget uden fejlen "SSH Keys Ids exchange failed".