Вимкнути попередження "Постійно додане <господар> ..." у локальній локальній мережі


26

У мене є ssh_configможливість підключитися до машин локальної локальної мережі та машин у віртуальному комп'ютері:

Host 172.16.*.*
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

Однак кожен раз, коли я підключаю його, видає попередження:

$ ssh jdoe@172.16.4.11
Warning: Permanently added '172.16.4.11' (ECDSA) to the list of known hosts.
Enter passphrase for key '/Users/jdoe/.ssh/id_ed25519': 

Я використовую OpenSSH 7.1. Як відключити попередження про кожне з'єднання для локальної локальної мережі?

Відповіді:


32

Додайте до конфігураційного файлу SSH:

LogLevel ERROR

Або додати -o LogLevel=ERRORдо самої команди ssh.


Конфігураційний файл SSH на Debian є /etc/ssh/ssh_config(не /etc/ssh/sshd_config!)
rubo77

16

Ви можете зробити це, змінивши конфігурацію ssh з рівня журналу за замовчуванням "info" на "помилка" (наступний рівень вгору).

Перейдіть на сторінку ssh_configкерівництва:

LogLevel
Задає рівень багатослів’я, який використовується під час реєстрації повідомлень з ssh (1). Можливі значення: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, і DEBUG3. Типовим є INFO. DEBUGі DEBUG1є рівнозначними. DEBUG2і DEBUG3кожен визначає більш високі рівні багатослівного виведення.

Вихідний код для sshрозповідає історію:

    /*
     * Initialize "log" output.  Since we are the client all output
     * actually goes to stderr.
     */
    log_init(av[0], options.log_level == -1 ? SYSLOG_LEVEL_INFO : options.log_level,
        SYSLOG_FACILITY_USER, 1);

разом із визначенням log_init:

void
log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr)
{

тобто всі повідомлення "журналу" переходять до стандартної помилки, і ви можете лише налаштувати кількість отриманих повідомлень. Той, кого ви не хочете, буває на INFOрівні.


7

Коротше кажучи, запустіть ssh прапором -q, щоб відключити попередження / діагностику (але не помилки).


7
-qзробить більше, ніж ви, мабуть, торгувались. Це пригнічує дуже корисні повідомлення про помилки. Приклад: ssh -q not-existing-hostне надрукується жодне повідомлення про помилку. Ця команда просто мовчки не вдається. На відміну від цього, ssh -o LogLevel=error not-existing-hostбуде надруковано пояснення: ssh: Не вдалося вирішити ім'я хоста неіснуючого хоста: ім'я або послуга невідомі
hagello
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.