Hướng dẫn cấu hình xác thực hai yếu tố (2FA) cho SSH trên Ubuntu 22.04
Giới thiệu
Xác thực hai yếu tố (2FA) giúp tăng cường bảo mật cho hệ thống khi đăng nhập SSH bằng cách yêu cầu người dùng nhập thêm mã xác thực từ ứng dụng như Google Authenticator.
Bước 1: Cài đặt Google Authenticator
Trên Ubuntu 22.04, Google Authenticator được sử dụng để tạo mã xác thực OTP.
Chạy lệnh sau để cài đặt gói PAM Google Authenticator:
sudo apt update
sudo apt install libpam-google-authenticator
Bước 2: Cấu hình Google Authenticator
Chạy lệnh sau để thiết lập Google Authenticator cho người dùng hiện tại:
google-authenticator
Trả lời các câu hỏi như sau:
- Do you want authentication tokens to be time-based?: Y
- Do you want me to update your “.google_authenticator” file?: Y
- Do you want to disallow multiple uses of the same authentication token?: Y
- Do you want to increase the time window?: N
- Do you want to enable rate-limiting?: Y
Lưu lại mã QR hoặc secret key và backup codes.
Bước 3: Cấu hình PAM cho Google Authenticator
Mở file cấu hình PAM cho SSH:
sudo nano /etc/pam.d/sshd
Thêm dòng sau vào cuối file:
auth required pam_google_authenticator.so
Bước 4: Cấu hình SSH để hỗ trợ 2FA
Mở file cấu hình SSH:
sudo nano /etc/ssh/sshd_config
Tìm và sửa các dòng sau:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,password publickey,keyboard-interactive
Khởi động lại dịch vụ SSH:
sudo systemctl restart ssh
Bước 5: Kiểm tra kết nối SSH
Trên máy client, đăng nhập lại vào máy chủ:
ssh username@server_ip
Hệ thống sẽ yêu cầu:
- Nhập mật khẩu
- Nhập mã xác thực OTP từ ứng dụng Google Authenticator
Kết luận
Việc kích hoạt xác thực hai yếu tố trên SSH giúp bảo mật hệ thống tốt hơn, ngăn chặn truy cập trái phép ngay cả khi mật khẩu bị lộ.