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.