Řešení 1:
IMO, nejlepší způsob, jak to udělat, je následující:
ssh-keygen -R [hostname]
ssh-keygen -R [ip_address]
ssh-keygen -R [hostname],[ip_address]
ssh-keyscan -H [hostname],[ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [hostname] >> ~/.ssh/known_hosts
To zajistí, že nebudou žádné duplicitní položky, že jste chráněni jak pro název hostitele, tak pro IP adresu, a také zahašujete výstup, což je další bezpečnostní opatření.
Řešení 2:
Nastavte StrictHostKeyChecking
možnost no
, buď v konfiguračním souboru nebo přes -o
:
ssh -o StrictHostKeyChecking=no [email protected]
Řešení 3:
Pro ty líné:
ssh-keyscan -H <host> >> ~/.ssh/known_hosts
-H hashuje název hostitele / IP adresu
Řešení 4:
Jak již bylo zmíněno, použití skenování klíčů by bylo tím správným a nenápadným způsobem, jak toho dosáhnout.
ssh-keyscan -t rsa,dsa HOST 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts
mv ~/.ssh/tmp_hosts ~/.ssh/known_hosts
Výše uvedené bude stačit k přidání hostitele, POUZE pokud ještě nebyl přidán. Není také bezpečný pro souběžný provoz; nesmíte spustit úryvek na stejném původním počítači více než jednou současně, protože soubor tmp_hosts může být ucpaný, což v konečném důsledku vede k nafouknutí souboruknown_hosts...
Řešení 5:
Můžete použít ssh-keyscan
příkaz k získání veřejného klíče a jeho připojení k vašemu known_hosts
soubor.