Cảnh báo cho biết điều gì
Máy chủ chứng minh danh tính bằng khóa máy chủ. Khi khóa khác với khóa máy khách đã lưu trước đó, OpenSSH hiển thị REMOTE HOST IDENTIFICATION HAS CHANGED và từ chối kết nối. Máy khách không thể phân biệt thay đổi vô hại với tấn công, vì vậy hãy coi cảnh báo là chưa được xử lý cho đến khi bạn kiểm tra.
Nguyên nhân thường gặp
Các nguyên nhân thường gặp là máy chủ được cài lại, VM được khôi phục hoặc nhân bản từ ảnh, địa chỉ nay được cấp cho máy khác, hay bộ cân bằng tải đưa bạn đến các nút khác nhau. Kẻ tấn công chặn kết nối cũng gây ra cảnh báo tương tự. Nếu không dự kiến có thay đổi, hãy dừng lại và không nhập mật khẩu.
So sánh dấu vân tay
Đọc dấu vân tay thật trên máy chủ qua kênh không phụ thuộc vào kết nối SSH này, chẳng hạn bảng điều khiển của nhà cung cấp hoặc của hypervisor. Lệnh ssh-keyscan chỉ cho thấy những gì mạng đưa đến cho bạn, nên tự nó không chứng minh được điều gì. Nó chỉ hữu ích khi so sánh với giá trị lấy từ bảng điều khiển.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -Thay thế mục đã lưu cũ
Chỉ sau khi dấu vân tay khớp nhau, hãy xóa mục cũ rồi kết nối lại. Cổng không tiêu chuẩn có mục riêng được viết với dấu ngoặc vuông. ssh-keygen giữ tệp trước đó dưới tên known_hosts.old. Không tắt StrictHostKeyChecking và không xóa toàn bộ tệp known_hosts, vì làm vậy sẽ loại bỏ lớp bảo vệ cho tất cả máy chủ của bạn.
ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.exampleTránh cảnh báo sau khi cài lại
Nếu dự định dựng lại máy chủ và muốn giữ danh tính của nó, hãy sao lưu an toàn các khóa máy chủ trong /etc/ssh rồi khôi phục với cùng chủ sở hữu và quyền truy cập. Với bản sao nhân bản thì làm ngược lại: mỗi máy tạo từ cùng một ảnh cần có khóa máy chủ riêng, nếu không nhiều máy chủ sẽ dùng chung một danh tính.
Khóa máy chủ trong CH-J Server Manager
Ứng dụng lưu dấu vân tay SHA-256 của khóa máy chủ trong kho lưu trữ mã hóa, tách biệt với tệp known_hosts của OpenSSH. Khi có thay đổi, ứng dụng chặn kết nối và hiển thị dấu vân tay đã biết cùng dấu mới. Mục chỉ được thay khi bạn xác nhận; hủy thao tác sẽ không thay đổi gì. Trong Alpha 0.1.1, việc kiểm tra cũng áp dụng cho từng máy chủ trung chuyển, và quá trình truyền đang chạy sẽ dừng khi khóa thay đổi. Ứng dụng không thể xác minh dấu vân tay mới thay bạn, nên việc kiểm tra qua kênh khác vẫn là trách nhiệm của bạn.