SSH Keys là một phương thức xác thực đăng nhập với máy chủ qua SSH bằng việc đối chiếu giữa một cặp keys, bao gồm một khóa riêng tư (private key) và khóa công khai (public key) tương ứng. SSH Keys sử dụng giao thức xác thực challenge-response mà trong đó một bên trình bày một câu hỏi – challenge và một bên khác phải cung cấp một câu trả lời hợp lệ – response để được chứng thực.
Thông thường, bạn đăng nhập VPS thông qua username root và password tự động sinh ra do nhà phát hành cung cấp. Bạn có thể mất quyền truy cập VPS nếu để lộ mật khẩu hay bị dò tìm mật khẩu qua Brute Force Attack. Do đó, việc sử dụng SSH Keys sẽ bảo mật hơn rất nhiều so với phương pháp đăng nhập dùng mật khẩu truyền thống.
Bạn có thể hình dung, Private Key là chìa khóa còn Public Key là ổ khóa.
Cấu hình sử dụng SSH Key và tắt SSH bằng Password
Ảnh dưới mặc định ban đầu mình vẫn SSH bằng password
Bạn thực hiện truy cập vào file sshd_config và chỉnh sửa.
vi /etc/ssh/sshd_config
Bạn tìm đến dòng PasswordAuthentication tại đây bạn sẽ thấy đang ở trạng thái YES nghĩa là cho phép SSH bằng Password
Bạn thực hiện sửa Yes => No như ảnh và thực hiện lưu lại với :wq
PasswordAuthentication no
Sau đó bạn Restart lại dịch vụ với lệnh
service sshd restart
Bạn thoát ra và thực hiện SSH lại sẽ thấy kết quả Password đã bị khóa lại chỉ có thể truy cập bằng SSH Key
Chúc bạn thực hiện thành công!