Tôi đang cố gắng nâng cấp máy chủ ssh của mình từ các khóa RSA 2048 bit lên các khóa lớn hơn, vì các khuyến nghị sẽ sớm loại bỏ các khóa 2048 bit.
Tôi đã tạo một khóa mới, sau đó thêm nó vào cấu hình sshd, như thế này:
HostKey / etc / ssh / ssh_host_rsa_key (khóa 2k-bit cũ trước) HostKey / etc / ssh / ssh_host_rsa4096_key (khóa mới lớn hơn thứ 2 )
Sau khi khởi động lại sshd
, tôi đã đến máy chủ lưu trữ, tôi không nhận được cảnh báo thay đổi nhận dạng, tuy nhiên cái mới cũng không được lưu trong bộ nhớ cache ~/.ssh/known_hosts
. Nếu tôi đặt các dòng theo thứ tự ngược lại, tôi sẽ nhận được cảnh báo thay đổi nhận dạng. Tương tự, khi tôi thêm khóa ed25519, bất kể tôi đặt nó theo thứ tự nào, máy khách sẽ không thêm khóa mới vào tệp máy chủ đã biết.
Điều này dường như làm cho việc cuộn lại khóa máy chủ SSH không thể tin được, đó là điều khó thực sự, tuy nhiên, việc xem xét bảo mật thường xuyên yêu cầu nâng cấp khóa.
Tôi biết bạn chỉ có thể trao đổi khóa, sau đó mọi khách hàng cần chạy ssh-keygen -R
để xóa khóa cũ, sau đó xác minh thủ công và chấp nhận khóa mới nhưng đó là một nỗi đau thực sự, đặc biệt là nếu bạn có nhiều khách hàng kết nối hoặc không quản trị Tất cả các khách hàng. Chưa kể, nếu bạn không quản trị khách hàng, rất có khả năng họ sẽ không thực sự kiểm tra khóa máy chủ và thay vào đó chỉ cần nhấn Y, do đó, nỗ lực cải thiện bảo mật có thể sẽ thực sự mở ra cho bạn. các cuộc tấn công trung gian thay thế.
Có cách nào để làm cho nâng cấp khóa máy chủ SSH hoạt động không? Đó là, khách hàng nên tìm hiểu khóa mới an toàn hơn (và cũng hy vọng không tìm hiểu khóa lỗi thời). Và không đưa ra chìa khóa máy chủ đã thay đổi cảnh báo trung gian.