การป้องกันการเตือนโฮสต์คีย์ SSH RSA สำหรับการเปลี่ยนคีย์ vs ที่อยู่ IP


9

ฉันมีเครือข่ายที่เปิดใช้งาน DHCP และคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการบู๊ตคู่และมีคีย์ SSH ที่แตกต่างกันในแต่ละ (และใช่ฉันต้องการเก็บคีย์ที่แตกต่างกันในแต่ละตัวแทนที่จะคัดลอกรหัสประจำตัว / รหัสส่วนตัวเดียวกันไปยังแต่ละ) เนื่องจากที่อยู่ IP ไม่เปลี่ยนแปลงระหว่างระบบปฏิบัติการเพราะที่อยู่ MAC เหมือนกันเมื่อเชื่อมต่อกับ ssh แม้ไม่ได้ใช้ที่อยู่ IP แต่เป็นชื่อโฮสต์ผ่าน DNS / mDNS ฉันได้รับคำเตือน:

Warning: the RSA host key for 'hostname' differs from the key for the IP address '192.168.1.172'
Offending key for IP in /Users/user/.ssh/known_hosts:37
Matching host key in /Users/user/.ssh/known_hosts:38
Are you sure you want to continue connecting (yes/no)?

ฉันจะ surpress คำเตือนได้อย่างไรเมื่อชื่อโฮสต์แตกต่างจากที่อยู่ IP สำหรับชื่อโฮสต์นั้น แต่ยังคงความสามารถในการตรวจสอบคีย์โฮสต์เหมือนกันสำหรับแต่ละชื่อโฮสต์ (แต่ละระบบปฏิบัติการมีชื่อโฮสต์ที่ไม่ซ้ำกัน)

คำตอบ:


19

ใส่CheckHostIP noในไฟล์ ~ / .ssh / config ของคุณ ไฟล์การกำหนดค่าตัวอย่าง:

Host foo-win.local foo-win
  Hostname foo-win.local
  CheckHostIP no

Host foo-lin.local foo-lin
  Hostname foo-lin.local
  CheckHostIP no

จากssh_config (5) :

CheckHostIP

หากการตั้งค่าสถานะนี้เป็น "ใช่" ssh (1) จะตรวจสอบที่อยู่ IP ของโฮสต์เพิ่มเติมในไฟล์ known_hosts สิ่งนี้อนุญาตให้ ssh ตรวจพบว่ามีการเปลี่ยนแปลงรหัสโฮสต์เนื่องจากการปลอมแปลง DNS หากตั้งค่าตัวเลือกเป็น "ไม่" การตรวจสอบจะไม่ถูกดำเนินการ ค่าเริ่มต้นคือ "ใช่"


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