2011-12-28 37 views
60

Tôi không thể ssh và chuyển đổi hệ thống từ xa. Nó tiếp tục đưa ra thông báo lỗi này:Ubuntu-ssh - - CẢNH BÁO: TỪ XÁC NHẬN XÁC NHẬN XÁC NHẬN ĐÃ CHAY SỬA

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 
Someone could be eavesdropping on you right now (man-in-the-middle attack)! 
It is also possible that a host key has just been changed. 
The fingerprint for the RSA key sent by the remote host is 
a3:8f:7c:07:c9:12:d8:aa:cd:c2:ba:b3:27:68:bc:c2. 
Please contact your system administrator. 
Add correct host key in /root/.ssh/known_hosts to get rid of this message. 
Offending RSA key in /root/.ssh/known_hosts:8 
RSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking. 
Host key verification failed. 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.8] 

Tôi đã xóa authorized_keys tệp từ /home/user/.ssh.

+0

Ngoài ra hãy kiểm tra các thông báo lỗi rsync, ssh: kết nối với máy chủ xxx.xxx.xxx.xxx cổng 22: Kết nối bị từ chối rsync: kết nối bị đóng bất ngờ (0 byte nhận được cho đến thời điểm này) [sender] lỗi rsync: lỗi không giải thích được (mã 255) tại io.c (601) [sender = 3.0.8] – thiyagu114

+0

nếu hệ thống không sản xuất thì bạn có thể làm truncate -s 0 /root/.ssh/known_hosts – AMB

+0

https://in.godaddy.com/help/ssh-login-warning-remote-host-identification-has-changed-12161 – NandhaKumar

Trả lời

63

Thông báo cho biết "/root/.ssh/known_hosts" không phải authorized_keys. Xóa tệp đó (hoặc ít nhất là khóa tương ứng) khỏi tệp đó và bạn có thể quay lại! Nhưng lưu ý rằng: Phải có một lý do tại sao chìa khóa thay đổi. Hệ thống đã được cài đặt lại chưa? Hãy chắc chắn rằng bạn kiểm tra xem đó hoặc toàn bộ ý tưởng của ssh là vô hiệu.

BTW .: Có lý do nào bạn ssh làm gốc không?

+0

Xóa tương ứng key '' '$ ssh-keygen -R {server.name.com}' '' | '' '$ ssh-keygen -R {ssh.server.ip.address}' '' | '' '$ ssh-keygen -R server.example.com''' – DaddyMoe

+0

@Nikodemus Xin chào, khi tôi xóa' ssh-keygen -f "/root/.ssh/known_hosts" -R instance_ip 'nó bây giờ hiển thị lỗi 'Quyền bị từ chối (khóa công khai, gssapi-keyex, gssapi-with-mic) .' Tôi nên xử lý nó như thế nào? – awhitesong

20

Thông điệp không giải thích bản thân:

  • Các máy chủ từ xa xác định bản thân với một chìa khóa
  • bản sao trước đó của bạn trong những chìa khóa cho máy chủ đó là khác nhau
  • Vì vậy, có một cơ hội mà các máy chủ từ xa không phải là người mà họ nói rằng họ là

Nếu bạn tin tưởng máy chủ từ xa, bạn có thể xóa dòng 8 từ /root/.ssh/known_hosts và ssh của bạn sẽ hỏi bạn có thể thêm khóa mới vào lần tiếp theo không cố gắng kết nối

Nếu bạn không tin tưởng máy chủ từ xa, bạn phải liên hệ với quản trị viên máy chủ để tìm hiểu xem và tại sao họ thay đổi khóa ssh. Nếu họ không có nó có nghĩa là lưu lượng của bạn đang được chặn

Mặt khác, nếu bạn thực sự thực sự tin tưởng vào máy chủ từ xa (ví dụ như nó là trên một mạng nội bộ), bạn có thể chạy ssh với

-oBatchMode=yes -oStrictHostKeyChecking=no 
6

chỉ cần làm điều này:

mv .ssh/known_hosts .ssh/known_hosts_old 
+1

cho đến nay câu trả lời hay nhất! – Jim

+12

Không có lý do gì để xóa toàn bộ tệp khi vấn đề chỉ là một máy chủ duy nhất. – Jian

+2

Điều này có vẻ như một điều không khôn ngoan để tư vấn cho một người không quen thuộc với cách ssh và các phím máy chủ hoạt động. Bạn có thể thêm chi tiết hơn cho câu trả lời của bạn cho những gì các tác động là để làm điều này? –

120

sử dụng lệnh sau đó loại bỏ các phím cũ từ .ssh/known_hosts nộp

ssh-keygen -R <host> 
+4

Nếu google gửi cho bạn ở đây, trong khi tìm kiếm câu trả lời là tại sao bạn đột nhiên không thể truy cập vào hộp lang thang của bạn, câu trả lời này sẽ giúp ích nhiều nhất. Khi khởi động một hộp âm thanh mới và khác, hộp đó có thể tạo ra một khóa rsa mới sẽ khác với khóa rsa đã đăng ký trước đó cho cùng một máy chủ cục bộ đó. Nếu đây là trường hợp này, bạn có thể tin tưởng rằng thay đổi chỉ là một mối phiền toái và bạn có thể xóa khóa không hợp lệ cũ – andkrup

+1

Không chỉ cho Vagrant, nếu bạn cài đặt lại máy, khóa sẽ thay đổi. Điều này có vẻ như giải pháp sạch và an toàn nhất. –

+0

bất kỳ ý tưởng nào để thử nếu điều này không hoạt động ?! – Stefan

11

Bạn có thể sử dụng sed để loại bỏ phím vi phạm tại dòng 8 từ known_hosts tập tin của bạn:

sed -i -e 8d /root/.ssh/known_hosts 
+0

Vâng, điều này: đã làm cho tôi ! :-) sed -i -e 36d known_hosts – Darby

+0

Làm việc tuyệt vời cho tôi –