ฉันมีสองวิธีในการเข้าถึงเซิร์ฟเวอร์ ssh โฮสต์ระยะไกลของฉัน:
โดยใช้ที่อยู่ IP ในเครื่อง
โดยใช้ที่อยู่ IP สาธารณะ
เมื่อวานนี้ ฉันติดตั้งเซิร์ฟเวอร์ SSH ของฉันใหม่บนรีโมตโฮสต์ และอัปเดตไฟล์โฮสต์ที่รู้จักสำหรับ ที่อยู่ IP ท้องถิ่น. ตอนนี้ฉันไม่ได้อยู่ในเครือข่ายท้องถิ่นของฉันและพยายามเชื่อมต่อกับเซิร์ฟเวอร์ของฉันโดยใช้เครือข่ายนั้น ที่อยู่ IP สาธารณะ และฉันรู้ว่าฉันลืมอัปเดตไฟล์โฮสต์ที่รู้จักหลังจากติดตั้งบริการ SSH ใหม่ นี่ทำให้ฉันมีข้อผิดพลาดทั่วไปด้านล่าง
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@ คำเตือน: การระบุโฮสต์ระยะไกลมีการเปลี่ยนแปลง! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
เป็นไปได้ว่าบางคนกำลังทำสิ่งที่น่ารังเกียจ!
ตอนนี้อาจมีคนแอบฟังคุณอยู่ (การโจมตีแบบคนตรงกลาง)!
อาจเป็นไปได้ว่าเพิ่งเปลี่ยนรหัสโฮสต์
ลายนิ้วมือสำหรับคีย์ ECDSA ที่ส่งโดยรีโมตโฮสต์คือ
MD5:ลายนิ้วมือ
โปรดติดต่อผู้ดูแลระบบของคุณ
เพิ่มรหัสโฮสต์ที่ถูกต้องใน /Users/user/.ssh/known_hosts เพื่อกำจัดข้อความนี้
ละเมิดคีย์ ECDSA ใน /Users/user/.ssh/known_hosts:25
รหัสโฮสต์ ECDSA สำหรับ [PUBLIC IP]:PORT มีการเปลี่ยนแปลง และคุณได้ร้องขอการตรวจสอบอย่างเข้มงวด
การยืนยันคีย์โฮสต์ล้มเหลว
ฉันแน่ใจ 99% ว่าเป็นเพราะฉันเปลี่ยนเซิร์ฟเวอร์ SSH อย่างไรก็ตาม หากฉันต้องการตรวจสอบและยืนยันอีกครั้ง ฉันจะทำสิ่งนี้ได้อย่างไร
คำถามของฉันคือ
ฉันจะตรวจสอบลายนิ้วมือใหม่ของรีโมตโฮสต์กับลายนิ้วมือที่บันทึกไว้สำหรับ ท้องถิ่น ที่อยู่ IP ของเซิร์ฟเวอร์?
ฉันทำอะไรลงไป
ฉันรันคำสั่งต่อไปนี้: ssh-keygen -lv -f ~/.ssh/known_hosts
และพบลายนิ้วมือ SHA256 ที่บันทึกไว้สำหรับ ท้องถิ่น ที่อยู่ IP ของเซิร์ฟเวอร์ของฉัน
ฉันเปรียบเทียบสิ่งนี้กับลายนิ้วมือ SHA256 ที่ส่งถึงฉันจากรีโมตโฮสต์ของฉัน และดูเหมือนว่าจะเหมือนกัน
ฉันจะแน่ใจได้อย่างไร 100% ฉันทำสิ่งนี้ถูกต้องหรือไม่