Wymuś, aby ssh nie drukował ostrzeżenia „Zdalna identyfikacja hosta uległa zmianie”


23

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.

Odpowiedzi:


16

Cztery sposoby:

Aby połączyć się tylko raz z systemem za pomocą nowego klucza hosta, bez konieczności odpowiadania na pytania, połącz się z następującą opcją:

ssh -q -o "StrictHostKeyChecking no" this.one.host.name

Aby trwale usunąć ostrzeżenie dla wszystkich systemów, edytuj ~/.ssh/configplik, aby dodać następujące wiersze:

Host *
StrictHostKeyChecking no

Aby trwale usunąć wszystkie ostrzeżenia dla tego jednego serwera, edytuj ~/.ssh/configplik i dodaj następujące wiersze:

Host this.one.hostname
StrictHostKeyChecking no  

Aby usunąć ostrzeżenie o tej jednej zmianie dla tego jednego serwera, usuń klucz hosta dla tego serwera z ~/.ssh/known_hosts. Przy następnym połączeniu zostanie dodany nowy klucz hosta.


W drugiej opcji konfiguracja musi być wykonana po stronie serwera, z którą się łączymy?
coffeMug

Nie, to twój ma $HOME/.ssh/configznaczenie zarówno w drugiej, jak i trzeciej opcji.
Jenny D.

Nadal wyświetla mi to ostrzeżenie (chociaż umożliwia połączenie).
Michael Mior

24

Dodaj to do swojego ~ / .ssh / config:

Host 10.*                            # use your own pattern here, eg. *.example.com, example.*.com
  StrictHostKeyChecking   no         # turn off the HostKey check                                                               
  LogLevel                ERROR      # keep it from printing to STDOUT
  UserKnownHostsFile      /dev/null  # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish. 

3
MOD UP - tylko ten, który faktycznie odpowiedział na pytanie - to była jedyna odpowiedź na nie tylko pracę, ale WYŚWIETL OSTRZEŻENIA.
Brad

Ups, wygląda na to, że użytkownicy powłoki rybnej nie będą mogli użyć ładnego autouzupełniania ssh dla wcześniej połączonych hostów, jeśli ustawią UserKnownHostFile na / dev / null. Użytkownicy ryb i być może wszyscy nie powinni tego ustawiać.
Elijah Lynn

Lepiej stwórz ssh0skrypt / alias / funkcję ssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERRORi 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.
Wujek Billy

20

Możesz usunąć linię dla tego hosta ~/.ssh/known_host(każdy host ma tam linię jako wpis).

Alternatywą jest użycie:

ssh -q -o "StrictHostKeyChecking no" ....

Samo użycie -qpo sshcichu zawiodłoby.


9

Czasem pożądane jest nie dodawanie kluczy hosta do domyślnego $ HOME / .ssh / known_hosts.

Użyj -o UserKnownHostsFile=/dev/nulloprócz -qi, -o StrictHostKeyChecking=noaby utrzymać znane hosty w porządku. Oto przykład:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q user@scripts.local

2

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.