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

อ่านคำเตือนทั้งหมดและตรวจสอบปลายทาง ประเภทคีย์ ลายนิ้วมือใหม่ และไฟล์ที่มีรายการที่ขัดแย้งปรากฏอยู่ นอกจากนี้ โปรดยืนยันว่าคุณใช้ชื่อ ที่อยู่ IP และพอร์ตที่ถูกต้อง
เพื่อตรวจสอบลายนิ้วมือ ให้ใช้เส้นทางที่แยกต่างหากจากการเชื่อมต่อที่แสดงคำเตือน เช่น คอนโซลของผู้ให้บริการที่คุณได้รับอนุญาตให้เข้าถึงแล้ว คอนโซลทางกายภาพ หรือผู้ดูแลระบบที่ระบุโดยช่องทางที่รู้จัก
บนเซิร์ฟเวอร์ Linux ที่มีคีย์โฮสต์ Ed25519 อยู่ในตำแหน่งปกติ คุณสามารถตรวจสอบลายนิ้วมือของคีย์นั้นได้จากคอนโซล:
ssh-keygen -l -E sha256 -f /etc/ssh/ssh_host_ed25519_key.pub
เปรียบเทียบผลลัพธ์ทั้งหมดกับผลลัพธ์ที่แสดงโดยฝั่งไคลเอ็นต์ หากคำเตือนเกี่ยวข้องกับคีย์ RSA หรือ ECDSA ให้ค้นหาคีย์สาธารณะประเภทเดียวกัน ตำแหน่งที่ตั้งอาจแตกต่างกันไปขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์
หากคุณไม่สามารถตรวจสอบความถูกต้องของการเปลี่ยนแปลงได้ อย่ารับข้อมูลประจำตัวใหม่นั้น โปรดขอการยืนยันจากผู้ดูแลระบบหรือผู้ให้บริการก่อนดำเนินการต่อ
ข้อความ "REMOTE HOST IDENTIFICATION HAS CHANGED" หมายความว่าอย่างไร?
ในการใช้งาน OpenSSH ทั่วไป ไคลเอนต์จะจัดเก็บคีย์สาธารณะของเซิร์ฟเวอร์ที่รู้จัก และตรวจสอบคีย์เหล่านั้นในการเชื่อมต่อครั้งต่อๆ ไป ลายนิ้วมือ นี่คือบทสรุปของข้อมูลสำคัญ เพื่อใช้ในการเปรียบเทียบ
คีย์เหล่านี้ใช้ระบุเซิร์ฟเวอร์และแตกต่างจากคีย์ส่วนตัวที่คุณใช้ในการเข้าสู่ระบบ ดังนั้น การเปลี่ยนรหัสผ่านหรือการสร้างคีย์ผู้ใช้ใหม่จะไม่สามารถแก้ไขคำเตือนนี้ได้
คำเตือนเพียงอย่างเดียวไม่ได้พิสูจน์ว่ากำลังมีการโจมตีเกิดขึ้น แต่จะช่วยป้องกันไม่ให้คุณยอมรับตัวตนก่อนหน้านี้ว่าเป็นตัวตนที่ถูกต้อง การเพิกเฉยต่อคำเตือนอาจทำให้คุณเชื่อถือเครื่องที่แอบอ้างเป็นปลายทางที่ตั้งใจไว้
การเปลี่ยนแปลงที่ถูกต้องตามกฎหมายใดบ้างที่อาจทำให้เกิดการแจ้งเตือนนี้

ตรวจสอบว่าสถานการณ์เหล่านี้เกิดขึ้นหรือไม่:
- การบูรณะหรือติดตั้งใหม่: เซิร์ฟเวอร์อาจสร้างคีย์ใหม่แล้ว
- การเปลี่ยนเครื่องจักร: อาจมีเซิร์ฟเวอร์อื่นได้รับที่อยู่ IP เดียวกัน
- การหมุนเวียนกุญแจ: ผู้ดูแลระบบอาจเปลี่ยนคีย์โฮสต์แล้ว
- เปลี่ยนจุดหมายปลายทาง: ชื่อ DNS, ชื่อแทน หรือที่อยู่ IP ภายในเครื่อง อาจชี้ไปยังคอมพิวเตอร์เครื่องอื่น
บนแพลตฟอร์มคลาวด์ การสร้างอินสแตนซ์ใหม่หรือการใช้ที่อยู่ IP ซ้ำอาจทำให้เกิดข้อขัดแย้งนี้ได้ ถึงกระนั้นก็ตาม การเปลี่ยนแปลงทางด้านการบริหารจัดการจะต้องมีการตรวจสอบลายนิ้วมือใหม่ประกอบด้วย.
การอัปเดตระบบไม่ได้หมายความว่ารหัสผ่านจะเปลี่ยนไปด้วยเสมอไป หากไม่มีใครสังเกตเห็นการเปลี่ยนแปลง ให้ตรวจสอบปลายทางก่อนที่จะแก้ไขข้อมูลที่บันทึกไว้
ลบเฉพาะรายการเก่าออกจากปลายทางที่ได้รับการยืนยันแล้ว
เมื่อยืนยันตัวตนเรียบร้อยแล้ว ให้ดำเนินการคำสั่งใน อุปกรณ์ไคลเอ็นต์ที่แสดงข้อความแจ้งเตือนโดยใช้ปลายทางที่ตรงกัน:
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
เชื่อมต่อใหม่และเปรียบเทียบขนาดไฟล์ก่อนยอมรับ
ทำซ้ำขั้นตอนการเชื่อมต่อโดยใช้ชื่อและพอร์ตที่ถูกต้อง:
ssh [email protected]
หรือหากคุณใช้พอร์ตแบบกำหนดเอง:
ssh -p 2222 [email protected]
โดยปกติแล้ว ในการตั้งค่า SSH จะขอให้ยืนยันคีย์ใหม่ ยอมรับเฉพาะในกรณีที่ลายนิ้วมือตรงกับลายนิ้วมือที่คุณตรวจสอบแล้วเท่านั้นหากไม่ตรงกัน ให้ตัดการเชื่อมต่อ
หากข้อขัดแย้งเกิดขึ้นอีก ให้ตรวจสอบว่าคุณแก้ไขไฟล์ที่ถูกต้องหรือไม่ คุณกำลังเชื่อมต่อด้วยผู้ใช้ภายในเครื่องที่แตกต่างกันหรือไม่ หรือการกำหนดค่าใช้ชื่อแทนคีย์โฮสต์หรือไม่ ในสภาพแวดล้อมที่มีการจัดการ ให้ขอให้ผู้ดูแลระบบอัปเดตรีจิสทรีความเชื่อถือของคุณ
สิ่งที่คุณไม่ควรทำเพื่อลบคำเตือน
อย่าลบทุกอย่าง known_hostsคุณจะสูญเสียข้อมูลอ้างอิงตัวตนจากเซิร์ฟเวอร์อื่น นอกจากนี้ ห้ามใช้ StrictHostKeyChecking=no โดยทั่วไปแล้ว การจัดเรียงแบบนี้จะช่วยลดภาระการตรวจสอบที่ตรวจพบการเปลี่ยนแปลงลง
ssh-keyscan วิธีนี้ช่วยให้คุณได้รับคีย์ที่ปลายทางส่งมา แต่ไม่ได้พิสูจน์ว่าคีย์เหล่านั้นเป็นของเซิร์ฟเวอร์ที่ถูกต้อง การเพิ่มผลลัพธ์ลงในโฮสต์ที่รู้จักโดยตรงโดยไม่ตรวจสอบความถูกต้องจะทำให้เกิดปัญหาความน่าเชื่อถือเช่นเดียวกัน
สำหรับการหมุนเวียนตามแผน ผู้จัดการสามารถศึกษาถึงกลไกต่างๆ เช่น UpdateHostKeysวิธีนี้ช่วยให้คุณเรียนรู้คีย์เพิ่มเติมจากการเชื่อมต่อที่ได้รับการยืนยันตัวตนแล้ว อย่างไรก็ตาม วิธีนี้ไม่สามารถทดแทนการตรวจสอบการเปลี่ยนแปลงที่ไม่คาดคิดได้
ฉันเป็นผู้ชื่นชอบเทคโนโลยีที่เปลี่ยนความสนใจ "เกินบรรยาย" ของเขาให้กลายเป็นอาชีพ ฉันใช้เวลามากกว่า 10 ปีในชีวิตไปกับเทคโนโลยีล้ำสมัยและปรับแต่งโปรแกรมทุกประเภทด้วยความอยากรู้อยากเห็น ตอนนี้ฉันมีความเชี่ยวชาญในด้านเทคโนโลยีคอมพิวเตอร์และวิดีโอเกม เนื่องจากเป็นเวลากว่า 5 ปีแล้วที่ฉันเขียนให้กับเว็บไซต์ต่างๆ เกี่ยวกับเทคโนโลยีและวิดีโอเกม โดยสร้างบทความที่พยายามให้ข้อมูลที่คุณต้องการในภาษาที่ทุกคนเข้าใจได้
หากคุณมีคำถามใดๆ ความรู้ของฉันมีตั้งแต่ทุกอย่างที่เกี่ยวข้องกับระบบปฏิบัติการ Windows รวมถึง Android สำหรับโทรศัพท์มือถือ และความมุ่งมั่นของฉันคือคุณ ฉันยินดีสละเวลาสักครู่เสมอและช่วยคุณแก้ไขคำถามใดๆ ที่คุณอาจมีในโลกอินเทอร์เน็ตนี้