คุณเพิ่งติดตั้งระบบปฏิบัติการใหม่บนเซิร์ฟเวอร์ของคุณหรืออะไรทำนองนั้น? นั่นจะทำให้เกิดสิ่งนี้
ในการแก้ไขปัญหานี้: http://www.cyberciti.biz/faq/warning-remote-host-identification-has-changed-error-and-solution/
โซลูชัน # 1: ลบคีย์โดยใช้ ssh-keygen
ใช้-R
ตัวเลือกเพื่อลบคีย์ทั้งหมดที่เป็นของชื่อโฮสต์ออกจากไฟล์ known_hosts ตัวเลือกนี้มีประโยชน์ในการลบโฮสต์ที่ถูกแฮช หากชื่อโฮสต์ระยะไกลของคุณคือ server.example.com ให้ป้อน:
$ ssh-keygen -R {server.name.com}
$ ssh-keygen -R {ssh.server.ip.address}
$ ssh-keygen -R {ssh.server.ip.address} -f {/path/to/known_hosts}
$ ssh-keygen -R server.example.com
ตอนนี้คุณสามารถเชื่อมต่อกับโฮสต์ได้โดยไม่มีปัญหา
โซลูชัน # 2: เพิ่มโฮสต์คีย์ที่ถูกต้องใน /home/user/.ssh/known_hosts
ไม่จำเป็นต้องลบไฟล์ known_hosts ทั้งหมดเพียงแค่บรรทัดที่ละเมิดในไฟล์นั้น ตัวอย่างเช่นถ้าคุณมี 3 เซิร์ฟเวอร์ดังต่อไปนี้
myserver1.com,64.2.5.111 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0EnGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0E
nGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94H+uv304/ZDz6xZb9ZWsdm+264qReImZzruAKxnwTo4dcHkgKXKHeefnBKyEvvp/2ExMV9WT5DVe1viVw
k=
myserver2.com,125.1.12.5 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAtDiERucsZzJGx/1kUNIOYhJbczbZHN2Z1gCnTjvO/0mO2R6KiQUP4hOdLppIUc9GNvlp1kGc3w7B9tREH6kghXFiBjrIn6VzUO4uwrnsMbnAnscD5EktgI7fG4ZcNUP 5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGxQz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/IyI4NxHhhpltYZKW/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBf
w=
myserver3.com,125.2.1.15 ssh-rsa
5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGx0lVkphVsvYD5hJzm0eKHv+oUXRT9v+QMIL+um/IyI4NxHhhpltYZKW
as3533dka//sd33433////44632Z6MGnAazIviHBldxtGrFwvEnk82/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBfw==
หากต้องการลบเซิร์ฟเวอร์ที่สอง (myserver.com) ให้เปิดไฟล์:
# vi +2 .ssh/known_hosts
และกดคำสั่ง dd เพื่อลบบรรทัด บันทึกและปิดไฟล์ หรือใช้ดังต่อไปนี้
$ vi ~/.ssh/known_hosts
ตอนนี้ไปที่บรรทัด # 2 พิมพ์คำสั่งต่อไปนี้
:2
ตอนนี้ลบบรรทัดด้วย dd และออก:
dd
:wq
หรือคุณสามารถใช้คำสั่ง sed ดังต่อไปนี้เพื่อลบรหัสที่กระทำผิดที่บรรทัดที่ 44:
$ sed -i 44d ~/.ssh/known_hosts
โซลูชันที่ 3: เพียงลบไฟล์ known_hosts หากคุณมีเซิร์ฟเวอร์ ssh เพียงหนึ่งตัว
$ cd
$ rm .ssh/known_hosts
$ ssh ras.mydomain.com
ลองเชื่อมต่อกับ ssh อีกครั้ง
ตอนนี้คุณควรจะสามารถเชื่อมต่อเซิร์ฟเวอร์ของคุณผ่าน ssh:
ssh username@server-ip-here
ssh nixcraft@server1.cyberciti.biz
ถัดไปคุณจะได้รับพรอมต์ใหม่เพื่อเพิ่มรหัส~/.ssh/known_hosts
ดังต่อไปนี้:
The authenticity of host '10.86.115.66 ()' can't be established.
ECDSA key fingerprint is 4e:10:42:39:53:85:7f:89:89:dc:89:84:8d:79:e7:ed.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.86.115.66' (ECDSA) to the list of known hosts.