Nonaktifkan "Permanent ditambahkan <host> ..." peringatan pada LAN lokal

25

Saya memiliki yang berikut ini di saya ssh_configuntuk terhubung ke mesin di LAN lokal saya dan mesin di VM:

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

Namun, setiap kali saya menghubungkannya menghasilkan peringatan:

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

Saya menggunakan OpenSSH 7.1. Bagaimana cara menonaktifkan peringatan pada setiap koneksi untuk LAN lokal?

jww
sumber

Jawaban:

30

Tambahkan yang berikut ke file konfigurasi SSH Anda:

LogLevel ERROR

Atau tambahkan -o LogLevel=ERRORke perintah ssh itu sendiri.

Mengambil ItCasual
sumber
File konfigurasi SSH pada Debian adalah /etc/ssh/ssh_config(tidak /etc/ssh/sshd_config!)
rubo77
15

Anda seharusnya dapat melakukan ini dengan mengubah konfigurasi ssh Anda dari tingkat log default "info" menjadi "error" (level berikutnya naik).

Lihat ssh_confighalaman manual:

LogLevel
Memberikan tingkat verbositas yang digunakan saat mencatat pesan dari ssh (1). Nilai yang mungkin adalah: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, dan DEBUG3. Standarnya adalah INFO. DEBUGdan DEBUG1setara. DEBUG2dan DEBUG3masing - masing menentukan tingkat keluaran verbose yang lebih tinggi.

Kode sumber untuk sshmenceritakan kisah:

    /*
     * 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);

bersama dengan definisi log_init:

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

yaitu, semua pesan "log" pergi ke kesalahan standar, dan Anda hanya dapat menyesuaikan berapa banyak yang Anda dapatkan. Yang Anda tidak ingin kebetulan berada di INFOlevel.

Thomas Dickey
sumber
7

Singkatnya, jalankan ssh dengan flag -q untuk menonaktifkan peringatan / diagnostik (tetapi bukan kesalahan).

JJC
sumber
7
-qakan melakukan lebih dari yang mungkin Anda menawar. Ini menekan pesan kesalahan yang sangat berguna. Contoh: ssh -q not-existing-hosttidak akan mencetak satu pesan kesalahan. Perintah ini gagal secara diam-diam. Sebaliknya, ssh -o LogLevel=error not-existing-hostakan mencetak penjelasan: ssh: Tidak dapat menyelesaikan nama host tidak-ada-host: Nama atau layanan tidak dikenal
hagello