วิธีแก้ไขข้อผิดพลาด "REMOTE HOST IDENTIFICATION HAS CHANGED" ใน SSH

อัปเดตล่าสุด: 26/10/2026

  • ตรวจสอบลายนิ้วมือใหม่ผ่านช่องทางอื่นก่อนที่จะยอมรับ
  • การเปลี่ยนรหัสผ่านของผู้ใช้ไม่ได้เปลี่ยนแปลงตัวตนของเซิร์ฟเวอร์โดยอัตโนมัติ
  • ลบเฉพาะรายการสำหรับปลายทางและพอร์ตที่ได้รับผลกระทบเท่านั้น
  • อย่าปิดใช้งานการตรวจสอบคีย์เพื่อซ่อนคำเตือน
รหัสประจำตัวโฮสต์ระยะไกลมีการเปลี่ยนแปลง

ประกาศ รหัสประจำตัวโฮสต์ระยะไกลมีการเปลี่ยนแปลง ข้อความนี้จะปรากฏขึ้นเมื่อไคลเอ็นต์ SSH ตรวจพบว่าคีย์ประจำตัวของเซิร์ฟเวอร์ไม่ตรงกับคีย์ที่ลงทะเบียนไว้สำหรับปลายทางนั้น ซึ่งอาจเกิดขึ้นหลังจากสร้างเซิร์ฟเวอร์ใหม่หรือกำหนดที่อยู่ IP ใหม่ แต่ก็อาจบ่งชี้ว่าคุณกำลังเชื่อมต่อกับเครื่องอื่นอยู่ด้วย

วิธีแก้ปัญหานี้เกี่ยวข้องกับการตรวจสอบตัวตนใหม่และอัปเดตข้อมูลที่เกี่ยวข้องในระบบ known_hostsอย่าลบไฟล์ทั้งหมดหรือปิดการตรวจสอบความปลอดภัยเพื่อให้ข้อความหายไป

ตรวจสอบลายนิ้วมือของเซิร์ฟเวอร์ใหม่ก่อนทำการเปลี่ยนแปลง known_hosts

ขนาดไฟล์ข้อมูลเซิร์ฟเวอร์ก่อนเปลี่ยน known_hosts

อ่านคำเตือนทั้งหมดและตรวจสอบปลายทาง ประเภทคีย์ ลายนิ้วมือใหม่ และไฟล์ที่มีรายการที่ขัดแย้งปรากฏอยู่ นอกจากนี้ โปรดยืนยันว่าคุณใช้ชื่อ ที่อยู่ IP และพอร์ตที่ถูกต้อง

เพื่อตรวจสอบลายนิ้วมือ ให้ใช้เส้นทางที่แยกต่างหากจากการเชื่อมต่อที่แสดงคำเตือน เช่น คอนโซลของผู้ให้บริการที่คุณได้รับอนุญาตให้เข้าถึงแล้ว คอนโซลทางกายภาพ หรือผู้ดูแลระบบที่ระบุโดยช่องทางที่รู้จัก

บนเซิร์ฟเวอร์ Linux ที่มีคีย์โฮสต์ Ed25519 อยู่ในตำแหน่งปกติ คุณสามารถตรวจสอบลายนิ้วมือของคีย์นั้นได้จากคอนโซล:

ssh-keygen -l -E sha256 -f /etc/ssh/ssh_host_ed25519_key.pub

เปรียบเทียบผลลัพธ์ทั้งหมดกับผลลัพธ์ที่แสดงโดยฝั่งไคลเอ็นต์ หากคำเตือนเกี่ยวข้องกับคีย์ RSA หรือ ECDSA ให้ค้นหาคีย์สาธารณะประเภทเดียวกัน ตำแหน่งที่ตั้งอาจแตกต่างกันไปขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์

เนื้อหาพิเศษ - คลิกที่นี่  ความล้มเหลวของไฟร์วอลล์หลังจาก KB5060829 ใน Windows 11: สาเหตุ วิธีแก้ไข และทุกสิ่งที่คุณจำเป็นต้องรู้

หากคุณไม่สามารถตรวจสอบความถูกต้องของการเปลี่ยนแปลงได้ อย่ารับข้อมูลประจำตัวใหม่นั้น โปรดขอการยืนยันจากผู้ดูแลระบบหรือผู้ให้บริการก่อนดำเนินการต่อ

ข้อความ "REMOTE HOST IDENTIFICATION HAS CHANGED" หมายความว่าอย่างไร?

ในการใช้งาน OpenSSH ทั่วไป ไคลเอนต์จะจัดเก็บคีย์สาธารณะของเซิร์ฟเวอร์ที่รู้จัก และตรวจสอบคีย์เหล่านั้นในการเชื่อมต่อครั้งต่อๆ ไป ลายนิ้วมือ นี่คือบทสรุปของข้อมูลสำคัญ เพื่อใช้ในการเปรียบเทียบ

คีย์เหล่านี้ใช้ระบุเซิร์ฟเวอร์และแตกต่างจากคีย์ส่วนตัวที่คุณใช้ในการเข้าสู่ระบบ ดังนั้น การเปลี่ยนรหัสผ่านหรือการสร้างคีย์ผู้ใช้ใหม่จะไม่สามารถแก้ไขคำเตือนนี้ได้

คำเตือนเพียงอย่างเดียวไม่ได้พิสูจน์ว่ากำลังมีการโจมตีเกิดขึ้น แต่จะช่วยป้องกันไม่ให้คุณยอมรับตัวตนก่อนหน้านี้ว่าเป็นตัวตนที่ถูกต้อง การเพิกเฉยต่อคำเตือนอาจทำให้คุณเชื่อถือเครื่องที่แอบอ้างเป็นปลายทางที่ตั้งใจไว้

การเปลี่ยนแปลงที่ถูกต้องตามกฎหมายใดบ้างที่อาจทำให้เกิดการแจ้งเตือนนี้

ผู้ดูแลระบบกำลังตรวจสอบข้อมูลทางเทคนิคบนหน้าจอ

ตรวจสอบว่าสถานการณ์เหล่านี้เกิดขึ้นหรือไม่:

  • การบูรณะหรือติดตั้งใหม่: เซิร์ฟเวอร์อาจสร้างคีย์ใหม่แล้ว
  • การเปลี่ยนเครื่องจักร: อาจมีเซิร์ฟเวอร์อื่นได้รับที่อยู่ IP เดียวกัน
  • การหมุนเวียนกุญแจ: ผู้ดูแลระบบอาจเปลี่ยนคีย์โฮสต์แล้ว
  • เปลี่ยนจุดหมายปลายทาง: ชื่อ DNS, ชื่อแทน หรือที่อยู่ IP ภายในเครื่อง อาจชี้ไปยังคอมพิวเตอร์เครื่องอื่น

บนแพลตฟอร์มคลาวด์ การสร้างอินสแตนซ์ใหม่หรือการใช้ที่อยู่ IP ซ้ำอาจทำให้เกิดข้อขัดแย้งนี้ได้ ถึงกระนั้นก็ตาม การเปลี่ยนแปลงทางด้านการบริหารจัดการจะต้องมีการตรวจสอบลายนิ้วมือใหม่ประกอบด้วย.

เนื้อหาพิเศษ - คลิกที่นี่  ฉันจะตรวจสอบได้อย่างไรว่า Avira Antivirus Pro เป็นเวอร์ชันล่าสุดแล้ว?

การอัปเดตระบบไม่ได้หมายความว่ารหัสผ่านจะเปลี่ยนไปด้วยเสมอไป หากไม่มีใครสังเกตเห็นการเปลี่ยนแปลง ให้ตรวจสอบปลายทางก่อนที่จะแก้ไขข้อมูลที่บันทึกไว้

ลบเฉพาะรายการเก่าออกจากปลายทางที่ได้รับการยืนยันแล้ว

เมื่อยืนยันตัวตนเรียบร้อยแล้ว ให้ดำเนินการคำสั่งใน อุปกรณ์ไคลเอ็นต์ที่แสดงข้อความแจ้งเตือนโดยใช้ปลายทางที่ตรงกัน:

ssh-keygen -R servidor.ejemplo.com

หากคุณเชื่อมต่อผ่านที่อยู่ IP โปรดใช้ที่อยู่ IP นั้น:

ssh-keygen -R 203.0.113.10

สำหรับท่าเรืออื่นที่ไม่ใช่ท่าเรือปกติ ให้ระบุปลายทางในวงเล็บและหมายเลขท่าเรือ:

ssh-keygen -R "[servidor.ejemplo.com]:2222"

คำสั่งนี้จะลบคีย์ที่ลงทะเบียนไว้สำหรับปลายทางนั้นในไฟล์ known hosts ที่เกี่ยวข้อง โดยจะไม่ตรวจสอบคีย์ใหม่หรือเปลี่ยนแปลงคีย์ของเซิร์ฟเวอร์

อย่าลบข้อมูลจากอุปกรณ์อื่น หากคุณสลับระหว่างชื่อและที่อยู่ IP ให้ตรวจสอบว่าข้อมูลใดเกี่ยวข้องกับคำเตือนก่อนที่จะแก้ไขทั้งสองอย่าง

โฟลเดอร์ known_hosts อยู่ที่ใดในระบบปฏิบัติการ Windows, macOS และ Linux?

ภาพสะท้อนของรหัสบนแว่นตาที่อยู่หน้าจอคอมพิวเตอร์

ในการตั้งค่าไคลเอ็นต์ OpenSSH ทั่วไป คุณจะพบไฟล์ผู้ใช้ได้ในตำแหน่งเหล่านี้:

  • ลินุกซ์และโอเอสมา: ~/.ssh/known_hosts.
  • OpenSSH บน Windows: %USERPROFILE%\.ssh\known_hosts.

เส้นทางที่แสดงในคำเตือนคือข้อมูลอ้างอิงที่คุณควรตรวจสอบ อาจมีการกำหนดค่าแบบกำหนดเองหรือไฟล์ส่วนกลางที่องค์กรของคุณจัดการอยู่

หากต้องการค้นหาข้อมูล แม้ว่าชื่อจะถูกจัดเก็บโดยใช้แฮช ให้ใช้คำสั่งต่อไปนี้:

ssh-keygen -F servidor.ejemplo.com

หากข้อความแจ้งชี้ไปยังไฟล์อื่น คุณสามารถระบุไฟล์นั้นได้โดยใช้ -f. ตัวอย่างเช่น:

ssh-keygen -R servidor.ejemplo.com -f "/ruta/indicada/known_hosts"

แอปพลิเคชันที่ใช้โดยไคลเอ็นต์อื่นๆ เช่น PuTTY สามารถรักษาความเชื่อถือกับเซิร์ฟเวอร์ได้ด้วยวิธีที่แตกต่างออกไป ซึ่งกระบวนการนี้จัดการโดย OpenSSH

เนื้อหาพิเศษ - คลิกที่นี่  Ente Auth กับ Google Authenticator: ตัวเลือกไหนดีที่สุดสำหรับความปลอดภัยของคุณ?

เชื่อมต่อใหม่และเปรียบเทียบขนาดไฟล์ก่อนยอมรับ

ทำซ้ำขั้นตอนการเชื่อมต่อโดยใช้ชื่อและพอร์ตที่ถูกต้อง:

ssh [email protected]

หรือหากคุณใช้พอร์ตแบบกำหนดเอง:

ssh -p 2222 [email protected]

โดยปกติแล้ว ในการตั้งค่า SSH จะขอให้ยืนยันคีย์ใหม่ ยอมรับเฉพาะในกรณีที่ลายนิ้วมือตรงกับลายนิ้วมือที่คุณตรวจสอบแล้วเท่านั้นหากไม่ตรงกัน ให้ตัดการเชื่อมต่อ

หากข้อขัดแย้งเกิดขึ้นอีก ให้ตรวจสอบว่าคุณแก้ไขไฟล์ที่ถูกต้องหรือไม่ คุณกำลังเชื่อมต่อด้วยผู้ใช้ภายในเครื่องที่แตกต่างกันหรือไม่ หรือการกำหนดค่าใช้ชื่อแทนคีย์โฮสต์หรือไม่ ในสภาพแวดล้อมที่มีการจัดการ ให้ขอให้ผู้ดูแลระบบอัปเดตรีจิสทรีความเชื่อถือของคุณ

สิ่งที่คุณไม่ควรทำเพื่อลบคำเตือน

อย่าลบทุกอย่าง known_hostsคุณจะสูญเสียข้อมูลอ้างอิงตัวตนจากเซิร์ฟเวอร์อื่น นอกจากนี้ ห้ามใช้ StrictHostKeyChecking=no โดยทั่วไปแล้ว การจัดเรียงแบบนี้จะช่วยลดภาระการตรวจสอบที่ตรวจพบการเปลี่ยนแปลงลง

ssh-keyscan วิธีนี้ช่วยให้คุณได้รับคีย์ที่ปลายทางส่งมา แต่ไม่ได้พิสูจน์ว่าคีย์เหล่านั้นเป็นของเซิร์ฟเวอร์ที่ถูกต้อง การเพิ่มผลลัพธ์ลงในโฮสต์ที่รู้จักโดยตรงโดยไม่ตรวจสอบความถูกต้องจะทำให้เกิดปัญหาความน่าเชื่อถือเช่นเดียวกัน

สำหรับการหมุนเวียนตามแผน ผู้จัดการสามารถศึกษาถึงกลไกต่างๆ เช่น UpdateHostKeysวิธีนี้ช่วยให้คุณเรียนรู้คีย์เพิ่มเติมจากการเชื่อมต่อที่ได้รับการยืนยันตัวตนแล้ว อย่างไรก็ตาม วิธีนี้ไม่สามารถทดแทนการตรวจสอบการเปลี่ยนแปลงที่ไม่คาดคิดได้