Vô hiệu hóa Cảnh báo bổ sung <host> Cảnh sát trên mạng LAN cục bộ


24

Tôi có những điều sau đây ssh_configđể kết nối với các máy trên mạng LAN cục bộ và các máy trong VM:

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

Tuy nhiên, mỗi lần tôi kết nối, nó sẽ tạo ra một cảnh báo:

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

Tôi đang sử dụng OpenSSH 7.1. Làm cách nào để tắt cảnh báo trên mỗi kết nối cho mạng LAN cục bộ?

Câu trả lời:


29

Nối các mục sau vào tệp cấu hình SSH của bạn:

LogLevel ERROR

Hoặc nối -o LogLevel=ERRORvào lệnh ssh chính nó.


Tệp cấu hình SSH trên Debian là /etc/ssh/ssh_config(không /etc/ssh/sshd_config!)
rubo77

14

Bạn sẽ có thể làm điều này bằng cách thay đổi cấu hình ssh của bạn từ cấp độ thông tin mặc định của "thông tin" thành "lỗi" (tăng cấp tiếp theo).

Tham khảo ssh_configtrang hướng dẫn:

LogLevel
Cung cấp mức độ chi tiết được sử dụng khi ghi nhật ký tin nhắn từ ssh (1). Các giá trị có thể là: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, và DEBUG3. Mặc định là INFO. DEBUGDEBUG1là tương đương. DEBUG2DEBUG3mỗi chỉ định mức sản lượng dài hơn.

Mã nguồn để sshkể câu chuyện:

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

cùng với định nghĩa về log_init:

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

tức là, tất cả các thông báo "nhật ký" đều đi đến lỗi tiêu chuẩn và bạn chỉ có thể điều chỉnh số lượng bạn nhận được. Người bạn không muốn xảy ra ở INFOcấp độ.


7

Nói tóm lại, hãy chạy ssh với cờ -q để tắt cảnh báo / chẩn đoán (nhưng không phải lỗi).


7
-qsẽ làm nhiều hơn bạn có thể mặc cả. Nó ngăn chặn các thông báo lỗi rất hữu ích. Ví dụ: ssh -q not-existing-hostsẽ không in một thông báo lỗi. Lệnh này chỉ thất bại âm thầm. Ngược lại, ssh -o LogLevel=error not-existing-hostsẽ in một lời giải thích: ssh: Không thể giải quyết tên máy chủ lưu trữ không tồn tại: Tên hoặc dịch vụ không được biết
hagello
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.