ดังที่ระบุไว้ในคำตอบอื่น ๆ known_hosts ไม่รองรับช่วงที่อยู่ IP อย่างไรก็ตามสนับสนุนสัญลักษณ์แทน แน่นอนว่าไวด์การ์ดนั้นไม่เหมือนกันดังนั้นคุณต้องระมัดระวังอย่างมากเกี่ยวกับวิธีใช้ในที่อยู่ IP แต่ในกรณีเฉพาะของ Github สิ่งนี้สามารถทำได้อย่างปลอดภัย
สถานการณ์ดูเหมือนว่าจะง่ายขึ้นตั้งแต่คำถามถูกถาม ตามเอกสารอย่างเป็นทางการของ Githubมีช่วงที่อยู่ IP ที่ใช้งานอยู่เพียงช่วงเดียวเท่านั้น (อย่างน้อยเท่ากับ IPv4 ไป) นี่คือช่วง 192.30.252.0/22 ทำให้ที่อยู่ IP ที่เป็นไปได้ 1,020 รายการสามารถขยายช่วงที่เป็นไปได้ทั้งหมดสำหรับ octet ล่าสุดในบล็อก C ที่แตกต่างกันเพียงสี่บล็อก
จากman 8 sshd
นี้เป็นสิ่งที่เราต้องทำงานด้วยใน known_hosts:
ชื่อโฮสต์เป็นรายการรูปแบบที่คั่นด้วยเครื่องหมายจุลภาค ( *' and
? 'ทำหน้าที่เป็นสัญลักษณ์แทน); แต่ละรูปแบบจะถูกจับคู่กับชื่อโฮสต์ที่ยอมรับได้ (เมื่อตรวจสอบสิทธิ์ไคลเอ็นต์) หรือเปรียบเทียบกับชื่อที่ผู้ใช้ระบุ (เมื่อตรวจสอบสิทธิ์เซิร์ฟเวอร์) รูปแบบอาจนำหน้าด้วย!' to indicate negation: if the host name matches a negated pattern, it is not accepted (by that line) even if it matched another pattern on the line. A hostname or address may optionally be enclosed within
['และ]' brackets then followed by
:' และหมายเลขพอร์ตที่ไม่เป็นมาตรฐาน
การใช้ข้อมูลนี้เราสามารถสร้างรายการโดยใช้ * wildcard สำหรับ octet ล่าสุดที่ตรงกับจุดสิ้นสุด Github ที่เป็นไปได้ทั้งหมด (และเฉพาะจุดสิ้นสุดเหล่านั้น) ดังนี้:
github.com,192.30.252.*,192.30.253.*,192.30.254.*,192.30.255.* ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
หากช่วง IP ที่คุณต้องการสร้างไม่ได้เติมเต็มบล็อก C เต็มดังนั้นค่าที่เป็นไปได้ทั้งหมดสำหรับ octet จะเป็นไปไม่ได้ที่จะใช้อักขระตัวแทนสำหรับการจับคู่ที่แม่นยำ