Cấu hình SSH Keys trên CentOS 7 là cách giúp quản trị viên đăng nhập vào máy chủ Linux an toàn hơn so với chỉ dùng mật khẩu. Với VPS, server riêng hoặc hệ thống chạy dịch vụ website, SSH Key giúp giảm rủi ro bị dò mật khẩu và kiểm soát truy cập tốt hơn.
Bài viết này phù hợp với người mới quản trị VPS, kỹ thuật viên hosting, developer hoặc chủ website đang cần bảo mật kết nối SSH. Bạn sẽ được hướng dẫn cách tạo SSH Key, cấu hình authorized_keys, chỉnh file sshd_config và chuẩn bị kết nối bằng SSH Key trên máy client.
Tóm Tắt Bài Viết
SSH Key là gì?
SSH Key là cách đăng nhập SSH bằng cặp khóa gồm Public Key và Private Key. Khi cấu hình SSH Keys trên CentOS 7, Public Key được lưu trên server, còn Private Key được giữ trên máy tính của bạn.
Nói đơn giản, Public Key giống như “ổ khóa” đặt trên server. Private Key giống như “chìa khóa” nằm trên máy client. Khi hai khóa khớp nhau, server cho phép bạn đăng nhập.
SSH Key an toàn hơn mật khẩu vì kẻ tấn công rất khó dò được Private Key bằng brute-force. Điều này quan trọng với VPS hoặc server public internet, vì cổng SSH thường xuyên bị bot quét và thử mật khẩu tự động.
Khi nào nên cấu hình SSH Keys trên CentOS 7?
Bạn nên cấu hình SSH Keys trên CentOS 7 khi muốn tăng độ an toàn cho quá trình đăng nhập server. Đây là bước phù hợp cho cả người mới quản trị VPS lẫn kỹ thuật viên đang vận hành máy chủ Linux thường xuyên.
- Đang quản trị VPS hoặc server Linux.
- Muốn bảo mật đăng nhập SSH tốt hơn.
- Muốn giảm phụ thuộc vào mật khẩu root.
- Cần đăng nhập server thường xuyên.
- Có nhiều kỹ thuật viên hoặc developer cùng truy cập.
- Server đang chạy website, database hoặc ứng dụng quan trọng.
Trong thực tế, SSH Key nên được cấu hình ngay sau khi bạn nhận VPS mới. Việc này giúp giảm rủi ro bị dò mật khẩu trước khi server được đưa vào sử dụng chính thức.
Hướng dẫn các bạn tạo kết nối SSH đến máy chủ thông qua SSH Key
Để đảm bảo tính bảo mật truy cập cho máy chủ Linux, bài này BKNS sẽ hướng dẫn các bạn tạo kết nối SSH đến máy chủ thông qua SSH Key. Các bạn tiến hành cấu hình theo các bước bên dưới nhé.
Bước 1: Kết nối SSH và tạo Key trên Server
ssh-keygen -t rsa
- Mục 1: Đây là đường dẫn lưu Key, các bạn có thể nhấn Enter và key sẽ lưu trong file mặc đinh: /root/.ssh/
- Mục 2: Thông tin mật khẩu bảo mật cho Key. Các bạn có thể sử dụng mật khẩu này để đăng nhập nếu như không nhớ mật khẩu root.
- Mục 3: Nhập lại mật khẩu passphrase.

cd /root/.ssh/ cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys rm -rf id_rsa & rm -rf id_rsa.pub

vi /etc/ssh/sshd_config
...PasswordAuthentication yes...systemctl restart sshd.service
-
Mở MobaXterm -> Tools -> MobaKeyGen (SSH Key Generator)
Ảnh 1:








Lỗi thường gặp khi cấu hình SSH Keys trên CentOS 7
Khi cấu hình SSH Keys trên CentOS 7, người dùng thường gặp lỗi do sai quyền file, sai user, sai private key hoặc chỉnh chưa đúng file sshd_config. Phần này giúp bạn kiểm tra nhanh nguyên nhân và cách xử lý.
| Lỗi | Nguyên nhân thường gặp | Cách xử lý |
| Permission denied (publickey) | Sai private key, sai user hoặc public key chưa có trong authorized_keys | Kiểm tra username, private key và nội dung authorized_keys |
| Server vẫn hỏi mật khẩu | PasswordAuthentication vẫn bật hoặc key chưa được nhận | Kiểm tra PubkeyAuthentication yes và file key |
| Authentication refused | Quyền .ssh hoặc authorized_keys quá rộng | Chạy chmod 700 ~/.ssh và chmod 600 ~/.ssh/authorized_keys |
| Không restart được sshd | Sai cú pháp trong sshd_config | Chạy sshd -t để xem lỗi |
| MobaXterm không nhận private key | Sai định dạng key hoặc chưa save bằng MobaKeyGen | Load lại key và chọn Save private key |
| Connection refused | SSH service dừng hoặc port sai | Kiểm tra systemctl status sshd và port SSH |
| No route to host | Firewall hoặc network chặn kết nối | Kiểm tra firewall, security group hoặc IP server |
Lưu ý bảo mật sau khi cấu hình SSH Keys trên CentOS 7
Cấu hình SSH Keys trên CentOS 7 giúp tăng bảo mật khi đăng nhập server. Tuy nhiên, bạn vẫn cần quản lý private key, user SSH và log đăng nhập đúng cách để tránh rủi ro trong quá trình vận hành.
- Không chia sẻ Private Key: Private key là “chìa khóa” dùng để đăng nhập vào server. Bạn không nên gửi private key qua email, Zalo, Telegram, ticket hỗ trợ hoặc lưu trong thư mục dùng chung. Nếu nghi ngờ private key đã bị lộ, hãy tạo SSH Key mới, thêm public key mới vào authorized_keys và xóa key cũ khỏi server.
- Hạn chế đăng nhập bằng root: Đăng nhập SSH bằng user root rất tiện nhưng rủi ro cao. Với server production, bạn nên tạo user riêng, cấp quyền sudo, cấu hình SSH Key cho user đó và kiểm tra đăng nhập thành công trước khi cân nhắc tắt root login.
- Chỉ tắt root login sau khi đã kiểm tra kỹ: Nếu muốn tắt đăng nhập root, bạn có thể chỉnh dòng PermitRootLogin no trong file /etc/ssh/sshd_config. Tuy nhiên, chỉ nên thực hiện sau khi chắc chắn user sudo mới hoạt động tốt để tránh tự khóa mình khỏi server.
- Đặt passphrase cho private key: Passphrase giúp bảo vệ private key nếu file key bị lộ. Với người quản trị VPS thủ công, nên đặt passphrase để tăng thêm một lớp bảo mật. Với script tự động hoặc CI/CD, cần cân nhắc dùng SSH agent hoặc thiết kế quyền truy cập riêng.
- Theo dõi log đăng nhập SSH: Sau khi cấu hình SSH Keys trên CentOS 7, bạn nên kiểm tra log định kỳ để phát hiện IP lạ, user lạ hoặc nhiều lần đăng nhập thất bại. Có thể dùng journalctl -u sshd hoặc xem file /var/log/secure để kiểm tra hoạt động SSH.
- Không tắt phương án dự phòng quá sớm: Trước khi tắt đăng nhập bằng mật khẩu hoặc root login, hãy đảm bảo SSH Key đã đăng nhập thành công ở một phiên mới. Bạn cũng nên giữ phiên SSH hiện tại đang mở và kiểm tra xem nhà cung cấp VPS có hỗ trợ console khôi phục hay không.
- Phân quyền file SSH đúng cách: File và thư mục SSH cần có quyền phù hợp để tránh lỗi xác thực. Thông thường, thư mục .ssh nên đặt quyền 700, còn file authorized_keys nên đặt quyền 600.
- Thu hồi key khi không còn sử dụng: Nếu một kỹ thuật viên hoặc developer không còn phụ trách server, hãy xóa public key của họ khỏi file authorized_keys. Cách này an toàn hơn so với việc dùng chung một mật khẩu root cho nhiều người.
Sau khi cấu hình SSH Keys trên CentOS 7, bạn không nên chỉ dừng ở việc đăng nhập thành công. Hãy bảo vệ private key, hạn chế quyền root, đặt passphrase khi phù hợp, theo dõi log và luôn giữ phương án khôi phục để server vừa an toàn vừa dễ quản trị.
Cấu hình SSH Keys trên CentOS 7 giúp tăng bảo mật khi đăng nhập VPS hoặc máy chủ Linux. Thay vì chỉ dùng mật khẩu, SSH Key sử dụng cặp Public Key và Private Key để xác thực, từ đó giảm rủi ro bị dò mật khẩu tự động. Khi thực hiện, bạn cần tạo key, cấu hình authorized_keys, chỉnh sshd_config và kiểm tra đăng nhập bằng Private Key trên máy client. Sau khi kết nối thành công, hãy bảo vệ Private Key, đặt passphrase nếu cần, phân quyền đúng cho thư mục .ssh và theo dõi log SSH định kỳ. Đây là bước bảo mật cơ bản nhưng rất cần thiết khi quản trị server CentOS 7.
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến Hướng dẫn cấu hình Email Relay cho máy chủ Cpanel WHM



































