VẤN ĐỀ KẾT NỐI SSH với " Xác Minh khóa Máy chủ thất bại..."lỗi

Tôi có thể kết nối Với một máy Ubuntu khác trong MẠNG LAN của MÌNH thông QUA SSH. Trên CẢ HAI MÁY TÍNH SAU đó tôi đã cài ĐẶT openssh-máy chủ nhưng từ Một Máy tính Ubuntu tôi không thể kết nối VỚI MÁY TÍNH CỦA tôi THÔNG QUA SSH VÀ tôi đã nhận lỗi này:

Xác minh khóa máy chủ thất bại...

"Host key verification failed" nghĩa là máy chủ chìa khóa của máy chủ từ xa đã được thay đổi.

SSH lưu trữ các khóa máy chủ của các máy chủ từ xa trong ~/.ssh/known_hosts. Bạn có thể chỉnh sửa tệp văn bản đó theo cách thủ công và xóa khóa cũ (bạn có thể xem số dòng trong thông báo lỗi) hoặc sử dụng

ssh-keygen -R hostname

Từ trang người đàn ông:

- R hostname
Loại bỏ tất cả các phím thuộc hostname từ một tập tin known_hosts. Tùy chọn này rất hữu ích để xóa các máy chủ băm .

(mà tôi đã học được từ câu trả lời choCÓ thể loại bỏ một khóa máy chủ cụ thể TỪ TẬP TIN KNOWN_HOSTS SSH's?).

Nếu bạn đang chạy trong một số tình huống từ xa/kịch bản, nơi bạn thiếu quyền truy cập tương tác vào khóa nhắc để thêm hostkey, hãy làm việc xung quanh nó như thế này:

$ ssh -o StrictHostKeyChecking=no user@something.example.com uptime

Cảnh báo: Vĩnh viễn thêm 'something.example.com,10.11.12.13' (RSA) vào danh sách các máy chủ được biết đến.

Cũng đôi khi có tình huống khi bạn đang làm việc trên giao diện điều khiển nối tiếp, sau đó kiểm tra trên lệnh trong chế độ verbose -v sẽ cho bạn thấy /dev/tty không tồn tại, trong khi nó không tồn tại.

ssh -v user@hostname

Trong trường hợp trên chỉ cần loại bỏ /dev/tty và tạo ra một symlink của /dev/ttyS0 để /dev/tty.

rm /dev/ttyln -s /dev/ttyS0 /dev/tty

Như là một thay thế, thêm id_rsa.pub đến vị trí từ xa, vì vậy mật khẩu không được nhắc nhở và bạn có thể truy cập đăng nhập.

Trong trường hợp của tôi, điều này đã được gây ra bởi một vấn đề udev-không có /dev/tty nút thiết bị. Giải pháp cho tôi chỉ là:

sudo mknod -m 666 /dev/tty c 5 0

Trên thiết bị đầu cuối:

ssh -o StrictHostKeyChecking=no -i YourPublicKey.pem user@example.com uptime

Thông báo sau, hoặc tương tự, sẽ xuất hiện:

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts. 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

Sau ĐÓ, kết nối VỚI EC2 của BẠN như bình thường:

ssh -i YourPublickey.pem user@example.com

Có thể bạn chỉ cần nhập "có" khi ssh xác nhận bạn muốn tiếp tục kết nối.

Như dưới đây.

The authenticity of host 'xxx' can't be established.ECDSA key fingerprint is yyy.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'xxx' (ECDSA) to the list of known hosts.Enter passphrase for key '/Users/ysy/.ssh/id_rsa':

Sau đó nhập mật khẩu của bạn.

Hãy chú ý đến "Bạn có chắc chắn bạn muốn tiếp tục kết nối (có / không)? vâng". Bạn phải nhập có, không nhập.

bạn phải đặt chìa khóa rsa của máy chủ mục tiêu vào máy chủ nguồn /home/user/.ssh/known_hosts bằng cách chạy này trên mục tiêu

ssh-keyscan -t rsa @targethost

Vâng, nó chỉ đơn giản là vì ubuntu thứ hai yêu cầu kết nối bằng chìa khóa và không phải mật khẩu.

Tôi đề nghị bạn sử dụng sudo dpkg-reconfigure openssh-server trên máy tính của bạn, và sau đó nó sẽ làm việc đúng cách. Nó sẽ thiết lập lại cấu hình cho openssh và sẽ trở lại để xác thực mật khẩu mặc định.

Khả năng thứ hai là đã có một chìa khóa cho ubuntu khác của BẠN TRONG MÁY TÍNH CỦA BẠN, và nó đã thay đổi do đó không được công nhận nữa. Trong trường hợp này, bạn sẽ phải chỉnh sửa tập tin .ssh/authorized_keys để loại bỏ các dòng có vấn đề xác định ubuntu của bạn.

Đây là một chủ đề cũ và tôi chỉ chạy qua câu trả lời này, tôi sẽ chỉ thêm những gì tôi đã làm để giải quyết điều này.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

Tôi chỉ cần nhìn vào thông báo lỗi mà nó ném vào tôi và nó nói để chạy lệnh đó để loại bỏ nó khỏi danh sách các máy chủ. Sau đó tôi đã làm như sau:

ssh-copy-id HOSTNAME

Hơn tôi làm theo các hướng dẫn từ đó cho đến khi tôi đã có thể ssh vào máy chủ.

Bạn nên thay đổi khóa của mình theo cách này: Từ lỗi đã cho của bạn, hãy tìm khóa lưu trữ nào đã thay đổi ví dụ: Vi phạm KHÓA ECDSA trong /Users/user-name/.ssh / known_hosts: 5said khóa thứ 5 thay đổi, do đó, làm điều này:

sed -i '5d' ~/.ssh/known_hosts

Chú ý: bạn phải có gốc hoặc có đặc quyền cho sudo.

Bạn có sử dụng tên máy chủ hoặc ĐỊA chỉ IP?

Không giống nhau nhưng tôi có cùng một lỗi nhưng do một vấn đề khác nhau: ubuntu - Managing multiple servers behind a firewall with SSH reverse tunnel - Server Fault

Đây không phải là Một Vấn đề Cụ Thể Của Ubuntu. Có thể xảy ra với bất kỳ `ssh ’ từ dòng lệnh.