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) cho dịch vụ SSH là một phương thức bảo mật giúp tăng cường bảo vệ máy chủ khỏi các cuộc tấn công thông qua giao thức SSH. Bài viết này sẽ hướng dẫn bạn cách cài đặt Google Authenticator và cấu hình 2FA cho SSH trên hệ điều hành Ubuntu 22.04.
Bước 1: Cài đặt và cấu hình Google Authenticator
Cài đặt Google Authenticator
Truy cập vào máy chủ Ubuntu 22.04 và chạy lệnh sau để cài đặt Google Authenticator:
sudo apt install libpam-google-authenticator -y
Tạo mã bảo mật
Gõ lệnh sau để tạo mã bảo mật:
google-authenticator
Kết quả sẽ xuất hiện một đường link và mã QR như hình dưới đây.
Nếu mã QR quá lớn, bạn có thể sao chép đường link và dán vào trình duyệt để hiển thị mã QR dễ nhìn hơn.
Sử dụng ứng dụng Google Authenticator để quét mã QR này:
- Chrome Extension: Tại đây
Sau khi quét mã, bạn sẽ nhận được một mã gồm 6 chữ số thay đổi liên tục sau mỗi 30 giây.
Tiếp theo, nhập mã này vào máy chủ để hoàn tất việc cài đặt.
Hệ thống sẽ hỏi bạn xác nhận một số thông tin:
- Cập nhật tệp /root/.google_authenticator: Chọn y
- Không cho phép sử dụng lại mã trong 30 giây: Chọn y
- Mở rộng thời gian chênh lệch lên đến 4 phút: Chọn y
- Giới hạn số lần đăng nhập sai: Chọn y
Bước 2: Cấu hình OpenSSH để sử dụng 2FA
Cấu hình PAM
Sao lưu tệp cấu hình trước khi chỉnh sửa:
sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
Chỉnh sửa tệp cấu hình PAM:
sudo nano /etc/pam.d/sshd
Thêm dòng sau ngay sau dòng @include common-auth:
auth required pam_google_authenticator.so
Cấu hình SSHD
Sao lưu tệp cấu hình SSH:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Chỉnh sửa tệp cấu hình:
sudo nano /etc/ssh/sshd_config
Thay đổi các dòng sau thành yes:
KbdInteractiveAuthentication yes
UsePAM yes
Khởi động lại dịch vụ SSH
sudo systemctl restart sshd.service
Bước 3: Kiểm tra SSH với 2FA
Sau khi hoàn tất cấu hình, tiến hành SSH vào máy chủ:
ssh user@your_server_ip
Hệ thống sẽ yêu cầu:
- Nhập mật khẩu tài khoản.
- Nhập mã xác thực 2FA từ ứng dụng Google Authenticator.
Nếu bạn nhập đúng cả hai, bạn sẽ đăng nhập thành công.
Kết luận
Qua bài viết này, chúng tôi đã hướng dẫn bạn cách cấu hình xác thực hai yếu tố (2FA) cho dịch vụ SSH trên Ubuntu 22.04 bằng Google Authenticator. Hy vọng bạn thực hiện thành công và tăng cường bảo mật cho hệ thống của mình.