Khi bạn chạy lệnh login SSH vào VPS, bạn gặp lỗi:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 ED25519 key sent by the remote host is
SHA256:ZCmI6PwpQqGT3tRqRGmfs/tr4m9sXryRZQArX/y6eUk.
Please contact your system administrator.
Add correct host key in /Users/nguyenoanh/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/nguyenoanh/.ssh/known_hosts:15
Host key for 192.168.1.17 has changed and you have requested strict checking.
Host key verification failed.
Bài viết dưới đây sẽ hướng dẫn bạn cách fix:
Nguyên nhân
Lỗi này xảy ra khi khóa host của một máy chủ từ xa đã thay đổi hoặc khi có sự cố liên quan đến bảo mật như man-in-the-middle attack. Thông báo này nhằm bảo vệ bạn khỏi các kết nối không an toàn hoặc các cuộc tấn công tiềm ẩn.
Các bước khắc phục
Cách nhanh: Xóa trực tiếp bằng lệnh
Để xóa mục trong known_hosts mà không cần mở tệp thủ công:
ssh-keygen -R 192.168.1.17
thay 192.168.1.17 bằng IP VPS của bạn.
Cách chậm:
Bước 1: Xác nhận thay đổi khóa máy chủ
Trước tiên, hãy chắc chắn rằng bạn tin tưởng địa chỉ IP hoặc tên miền của máy chủ mà bạn đang kết nối.
Nếu bạn biết rằng máy chủ đã thay đổi khóa SSH (ví dụ sau khi cài đặt lại), bạn có thể xóa khóa cũ.
Bước 2: Xóa khóa host cũ trong tệp known_hosts
Mở tệp known_hosts bằng lệnh sau (thay thế đường dẫn theo hệ điều hành của bạn):
macOS/Linux:
nano ~/.ssh/known_hosts
Windows (sử dụng Putty chẳng bạn):
nano ~/.ssh/known_hosts
Tìm đến dòng có số được chỉ định trong thông báo lỗi, ví dụ:
Offending ED25519 key in /Users/nguyenoanh/.ssh/known_hosts:15
Xóa dòng thứ 15 trong tệp này.
Bước 3: Lưu và thoát
Nhấn Ctrl + X, sau đó nhấn Y và Enter để lưu thay đổi.
Bước 4: Kết nối lại với máy chủ
Thực hiện lại lệnh kết nối SSH, bạn sẽ được yêu cầu xác nhận khóa mới:
ssh user@192.168.1.17
Nhấn yes để chấp nhận khóa mới và tiếp tục kết nối.