Jak je vidět v odeslaném protokolu, problematický klíč není na svém normálním místě, tj. $HOME/.ssh/known_hosts
, ale nachází se spíše v /var/lib/sss/pubconf/known_hosts
. To naznačuje, že Démon služeb zabezpečení systému aka sssd načítá problematický klíč z jiného zdroje.
To je důvod, proč odstranění klíče ze souboru nemá žádný účinek, protože je znovu načítán ze serveru znovu a znovu.
V tomto případě je server serverem FreeIPA. K vyřešení problému je proto nutné změnit problematický klíč zaslaný serverem IPA.
To lze provést ruční změnou klíče na serveru nebo úplným odstraněním informací o hostiteli ze serveru a instalací klienta (přes ipa-client-install
) znovu.
Můj problém nastal po přeinstalaci OS na klienta. Proto je pro mě rozumnou možností odebrat informace o hostiteli ze serveru a znovu nainstalovat klienta IPA.
TL;DR:Na serveru, ke kterému se chcete připojit, spusťte:
ipa host-mod --sshpubkey="`cat /etc/ssh/ssh_host_ed25519_key.pub`" --sshpubkey="`cat /etc/ssh/ssh_host_ecdsa_key.pub`" --sshpubkey="`cat /etc/ssh/ssh_host_rsa_key.pub`" `hostname`
Co se zde děje je, že ssh klient získává veřejný klíč hostitele serveru ze serveru IPA, ale server IPA neví, že se veřejný klíč hostitele změnil.
ssh získá starý klíč a ssh se stane nešťastným.
Chcete-li aktualizovat klíče na serveru IPA, použijte ipa host-mod
nebo IPA WebGUI.
Pokud potřebujete pouze ed25519, můžete ostatní klávesy přeskočit. Např.:
ipa host-mod --sshpubkey="`cat /etc/ssh/ssh_host_ed25519_key.pub`" `hostname`
Použití WebGUI vyžaduje více vyjmout a vložit pro přidání klíčů, takže v závislosti na tom, co chcete dělat, může být příkazový řádek jednodušší volbou.
Pokud chcete zobrazit nebo upravit ssh klíče pomocí WebGUI:
- přejděte na
Hosts
->'váš hostitel'->Settings
- přejděte dolů na
SSH Keys
- zobrazit nebo aktualizovat pomocí
show/set
,delete
aadd
tlačítka - přejděte nahoru a
save