Quando si crea o si entra a far parte di un cluster in RELIANOID, il sistema scambia chiavi SSH tra i nodi per stabilire una comunicazione sicura.
Se questo scambio fallisce, potresti visualizzare il seguente errore nei log:
(ERRORE) cluster :: Scambio ID chiavi SSH non riuscito (ERRORE) webgui :: Abilitazione cluster: Scambio ID chiavi SSH non riuscito
Sintomi #
La creazione o la sincronizzazione del cluster non riesce in Sistema> Cluster sezione dell'interfaccia utente web.
Migliori Sistema > Registri > syslog (/var/log/syslog) mostra errori simili a:
ssh-copy-id: ERRORE: @@ ...
Ciò indica che la chiave dell'host remoto è cambiata o che il nodo locale ha una voce in conflitto nel suo SSH known_hosts file.
Causare #
L'errore si verifica perché:
- Il nodo del cluster remoto è stato reinstallato, ridistribuito oppure la sua chiave host SSH è stata rigenerata.
- Il nodo locale ha ancora la vecchia impronta digitale dell'host memorizzata in
/root/.ssh/known_hosts. - Come misura precauzionale di sicurezza, SSH rifiuta di connettersi poiché la chiave memorizzata non corrisponde a quella nuova.
Risoluzione #
Rimuovere la vecchia voce della chiave host SSH #
Sul nodo che segnala l'errore, eseguire:
ssh-keygen -f "/root/.ssh/known_hosts" -R "10.xyx"
sostituire 10.xyx con l'indirizzo IP del nodo remoto. Applicare questo comando in entrambi i nodi del cluster, incluso l'indirizzo IP del nodo remoto.
Ciò rimuoverà le impronte digitali obsolete da known_hosts.
Verificare la pulizia #
Il comando dovrebbe segnalare che le voci sono state trovate e rimosse. Esempio:
# Host 10.xyx trovato: riga 1 # Host 10.xyx trovato: riga 2 # Host 10.xyx trovato: riga 3 /root/.ssh/known_hosts aggiornato. Contenuto originale mantenuto come /root/.ssh/known_hosts.old
Rimuovere le chiavi RSA in ogni nodo #
Da ogni nodo, rimuovere le chiavi RSA da rigenerare.
rm -f /root/.ssh/id_rsa*
Review host.deny filetto #
Verificare che non vi sia alcun host bloccato nel /etc/hosts.deny file. Il comando seguente dovrebbe mostrare un output vuoto.
grep -v "^#" /etc/hosts.deny
Nel caso in cui la risposta non sia vuota, modificare il file /etc/hosts.deny e rimuovere l'indirizzo IP relativo all'host remoto.
Ricostruisci il servizio cluster #
Vai alla sezione Web UI Sistema> Cluster
Ricostruire o riabilitare la configurazione del cluster.
Verrà effettuato un nuovo tentativo di scambio delle chiavi SSH, che ora dovrebbe riuscire.
Note aggiuntive #
Se i problemi persistono, assicurati che:
- I nodi possono raggiungersi tra loro tramite SSH (
ssh root@<REMOTE IP>). - Gli orologi di sistema sono sincronizzati (utilizzano NTP).
- Nessuna regola del firewall blocca la porta 22/TCP tra i nodi.
Dopo aver completato questi passaggi, il cluster dovrebbe essere compilato correttamente senza l'errore "Scambio ID chiavi SSH non riuscito".