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 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': 

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

Jawaban:


30

Tambahkan yang berikut ke file konfigurasi SSH Anda:

LogLevel ERROR

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


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.


7

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.