ปิดใช้งานคำเตือน“ เพิ่ม <host> … "อย่างถาวรบน LAN ในระบบ


26

ฉันมีสิ่งต่อไปนี้ในssh_configการเชื่อมต่อกับเครื่องใน LAN ท้องถิ่นของฉันและเครื่องใน VM:

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 ฉันจะปิดการเตือนในแต่ละการเชื่อมต่อสำหรับ LAN ท้องถิ่นได้อย่างไร

คำตอบ:


32

ผนวกสิ่งต่อไปนี้กับไฟล์กำหนดค่า SSH ของคุณ:

LogLevel ERROR

หรือต่อท้าย-o LogLevel=ERRORคำสั่ง ssh เอง


ไฟล์ปรับแต่ง SSH บนเดเบียนคือ/etc/ssh/ssh_config(ไม่ใช่/etc/ssh/sshd_config!)
rubo77

16

คุณควรจะสามารถทำได้โดยเปลี่ยนการกำหนดค่า ssh จากระดับบันทึกเริ่มต้นของ "info" เป็น "ข้อผิดพลาด" (ระดับต่อไปขึ้นไป)

อ้างถึงssh_configหน้าคู่มือ:

LogLevel
ให้ระดับ verbosity ที่ใช้เมื่อบันทึกข้อความจาก ssh (1) ค่าที่เป็นไปได้: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, และDEBUG2 เริ่มต้นคือDEBUG3 และเทียบเท่า และแต่ละระบุระดับที่สูงขึ้นของการส่งออก verboseINFODEBUGDEBUG1DEBUG2DEBUG3

ซอร์สโค้ดสำหรับ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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.