Czy istnieje sposób na uniknięcie drukowania komunikatów ostrzegawczych ssh w ten sposób?
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
Chociaż tożsamość zdalnego hosta uległa zmianie, ale wiem, że jest w porządku i chcę po prostu pozbyć się tego ostrzeżenia.
$HOME/.ssh/config
znaczenie zarówno w drugiej, jak i trzeciej opcji.Dodaj to do swojego ~ / .ssh / config:
źródło
ssh0
skrypt / alias / funkcjęssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERROR
i używaj go wyraźnie zamiast wrzucać te opcje do~/.ssh/config
. Możesz o nich zapomnieć, a potem zastanawiać się, dlaczego czeki nie zadziałały, kiedy po prostu chciałeś, żeby działały.Możesz usunąć linię dla tego hosta
~/.ssh/known_host
(każdy host ma tam linię jako wpis).Alternatywą jest użycie:
Samo użycie
-q
possh
cichu zawiodłoby.źródło
Czasem pożądane jest nie dodawanie kluczy hosta do domyślnego $ HOME / .ssh / known_hosts.
Użyj
-o UserKnownHostsFile=/dev/null
oprócz-q
i,-o StrictHostKeyChecking=no
aby utrzymać znane hosty w porządku. Oto przykład:źródło
Alternatywną sugestią jest ustalenie, dlaczego klucz hosta się zmienia, i spraw, aby przestał to robić.
Na przykład: jeśli budujesz hosty w kontenerach lub za pośrednictwem systemu udostępniania, upewnij się, że konsekwentnie korzystają z tego samego znanego klucza hosta na instancję.
Wiem, że nie zawsze jest to możliwe, a hostami można zarządzać poza zakresem kontroli, ale te ostrzeżenia dotyczące klucza hosta istnieją z jakiegoś powodu i są znaczące. Zmniejszenie liczby wyjątków to dobra rzecz.
W przeciwnym razie głosuję na StrictHostKeyChecking Nie w twoim tylko
~/.ssh/config
dla konkretnego hosta, o którym mowa.źródło