Примушуйте ssh не друкувати попередження "Віддалена ідентифікація хоста змінилася"


23

Чи є спосіб уникнути ssh друку попереджувальних повідомлень, як це?

"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",

Хоча ідентичність віддаленого хоста змінилася, але я знаю, що це нормально і просто хочу позбутися цього попередження.

Відповіді:


16

Чотири способи:

Щоб просто один раз підключитися до системи за допомогою нового хост-ключа, не відповідаючи на запитання, підключіться до наступного варіанту:

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

Щоб назавжди видалити попередження для всіх систем, відредагуйте ~/.ssh/configфайл, щоб додати наступні рядки:

Host *
StrictHostKeyChecking no

Щоб остаточно видалити всі попередження для цього один сервер, змініть ~/.ssh/configфайл і додайте в нього наступні рядки:

Host this.one.hostname
StrictHostKeyChecking no  

Щоб видалити попередження про цю зміну для цього сервера, видаліть хост-ключ для цього сервера ~/.ssh/known_hosts. Наступного разу, коли ви підключитесь, новий хост-ключ буде доданий.


У другому варіанті конфігурація повинна бути виконана на стороні сервера, до якого ми підключаємось правильно?
coffeMug

Ні, саме ваше $HOME/.ssh/configзначення має значення і в другому, і в третьому варіантах.
Jenny D

Це все ще надруковує попередження для мене (хоча це дозволяє робити з'єднання).
Майкл Міор

24

Додайте це до ~ / .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 - лише той, хто насправді відповів на питання - це була єдина відповідь не просто на роботу, а на ПОВЕРНЕННЯ ПОПЕРЕДЖЕННЯ.
Бред

На жаль, користувачі рибної оболонки не зможуть використовувати приємне автоматичне завершення ssh для раніше підключених хостів, якщо вони поставлять UserKknownHostFile в / dev / null. Користувачі риб і, можливо, всі не повинні встановлювати це.
Ілля Лінн

Краще зробіть ssh0сценарій / псевдонім / функцію для цього ssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERRORі використовуйте це прямо, а не вводячи ці параметри в ~/.ssh/config. Ви можете забути про них, а потім задуматися, чому чеки не спрацювали, коли ви просто хотіли, щоб вони працювали.
Дядько Біллі

20

Ви можете взяти рядок для цього хоста ~/.ssh/known_host(кожен хост має рядок як запис).

Альтернативою є використання:

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

Тільки з допомогою -qби sshмовчки терплять невдачу.


9

Іноді бажано не додавати хост-ключі до замовчування $ HOME / .ssh / known_hosts.

Використовуйте -o UserKnownHostsFile=/dev/nullна додаток до -qта, -o StrictHostKeyChecking=noщоб відомі_хости залишалися непотрібними. Ось приклад:

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

2

Альтернативна пропозиція - визначити, чому змінюється ключ хосту, і змусити його припинити це робити.

Як приклад: якщо ви будуєте хости в контейнерах або через систему забезпечення, переконайтеся, що вони послідовно використовують один і той же відомий хост-ключ на примірник.

Я добре знаю, що це не завжди можливо, і хостами може керуватися поза вашим контролем, але ці попередження хост-ключів існують з причини та є важливими. Зменшення кількості винятків є хорошою справою.

В іншому випадку я голосую за " StrictHostKeyChecking" ні у вашому ~/.ssh/config для конкретного хоста, про який йдеться.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.