Na moim komputerze Mac mam 1 wpis na serwer w ~/.ssh/known_hosts
pliku, w Ubuntu zauważyłem, że są dwa utworzone na serwer. Dlaczego?
Format to:
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
|1|vvvvvvvvvvvvvvv=|vvvvvvvvvv= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
W obu wpisach pierwsza sekcja przed ecdsa-sha2-nistp256 jest inna. Po ecdsa-sha2-nistp256 jest tak samo (wyobrażam sobie klucz do pubu).
Ssh na serwer A, a stamtąd ssh na serwer B. Nie dodam ręcznie wpisów, widzę ostrzeżenie ubuntu i pozwalam mu dodać do pliku znane_hosty.
W tym teście wyczyściłem plik znane_hosty.
Mam uzasadnione wątpliwości, że dodatkowy wpis dotyczy adresu IPv6, mimo że nie użyłem go do połączenia. Czy ubuntu dodaje go automatycznie, jeśli jest dostępny?
Odpowiedzi:
Masz dwa wpisy, ponieważ jeden jest według domeny, a drugi według adresu IP, więc twój przykład:
może w efekcie przeczytać:
Jeśli wyłączysz znane haszowanie hosta (dodaj
HashKnownHosts no
do pliku ~ / .ssh / config), możesz zobaczyć, co się dzieje, ale w nieszyfrowanym pliku znanego hosta zarówno domena, jak i adres IP mogą pojawić się w tym samym wierszu, więc wyglądałbym tak:Tutaj jest nieco więcej dyskusji na temat formatu pliku znane_hosty.
źródło
Powinieneś mieć jeden klucz dla każdego serwera, z którym się połączyłeś. Albo łączyłeś się z dwoma serwerami w różnych momentach, albo klucz na twoim pojedynczym serwerze został zmieniony.
Podczas pierwszego połączenia z serwerem ssh pojawia się pytanie, czy chcesz dodać klucz do znanych hostów.
Wygląda mniej więcej tak:
W pewnym momencie zaakceptowałeś klucze ze swoim klientem.
Przy każdym kolejnym połączeniu, gdy łączysz się z serwerem, klucze są porównywane i pojawia się ostrzeżenie, jeśli zostaną zmienione.
Zobacz: http://bodhizazen.com/Tutorials/SSH_overview#Security
źródło