Korzystam z pulpitu Ubuntu z kilkoma wirtualnymi serwerami w Virtual Box, aby przetestować rzeczy itp. W przeszłości łączyłem się również z innymi rodzajami zdalnych VPS Linux. Obecnie mój .ssh/known_hosts
plik zawiera całą masę kluczy, z których większość nie jest już używana.
Chcę wyczyścić mój .ssh/known_hosts
plik, ale skąd mam wiedzieć, który klucz należy do jakiego hosta? Skąd mam wiedzieć, które klucze mogę bezpiecznie usunąć, a które mam zostawić w spokoju?
ssh-keyscan
ma bardzo surowe reguły formatowanialist_of_hosts
pliku. Musi to być tylko adres, a nie każdy inny biały znak niż LF po każdym adresie. Obejmuje to LF po ostatnim adresie. W przeciwnym razie w wygenerowanym pliku pojawi się dużo śmieci.Z trudem...
Ubuntu domyślnie szyfruje nazwy hostów w pliku znane_hosty (nie jest to domyślne zachowanie openssh), aby utrudnić każdemu czytającemu plik znajomość systemów, do których masz dostęp.
Jeśli naprawdę chcesz wyczyścić plik, najprostszą opcją jest prawdopodobnie po prostu usunięcie go i sprawdzenie kluczy serwerów, które znasz, gdy się pojawiają, ale tak naprawdę zostawiłbym znane_hosty w spokoju.
Możesz zatrzymać mieszanie wpisów nowych hostów, komentując opcję w / etc / ssh / ssh_config
źródło
ssh root@something-new-or-new-dns-alias
. Spowoduje to odświeżenie oryginalnegoknown_hosts
pliku i odszyfrowanie nazw hostów / adresów IP.Miałem ponad 300 starych starych wpisów w moim pliku znane_hosty. Nie jestem pewien, czy to zadziała dla wszystkich systemów (lub nawet większości systemów), ale oto mój skrypt Q&D. Konieczne może być dopasowanie pasujących ciągów lub lokalizacji.
źródło
known_hosts
pliku z haszowaniem , a ponieważ pytający pyta: „skąd mam wiedzieć, który klucz należy do jakiego hosta?” Myślę, że jest bardzo prawdopodobne, że jego plik jest haszowany. Mówi, że jest na Ubuntu i, jaktheotherreceive
mówi, Ubuntu domyślnie ma skrót.