Sau đây sẽ làm cho Google 2FA bắt buộc đối với tất cả người dùng
ngoại trừ người dùng thuộc sudo và quản trị nhóm
(có nghĩa là nếu một người sử dụng từ nhóm sudo hoặc quản trị không có 2FA cấu hình, nó sẽ xác nhận anh / cô ấy dựa trên khóa công khai của họ):
Tập tin: /etc/pam.d/sshd
auth required pam_google_authenticator.so nullok
auth optional pam_succeed_if.so user ingroup sudo
auth optional pam_succeed_if.so user ingroup admin
Tập tin: /etc/ssh/sshd_config
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
ChallengeResponseAuthentication yes
Các kết quả:
| Belongs to sudo or | Has 2FA Already Setup | Authentication Result
| admin group | in ~/.google_authenticator |
----------+----------------------+-----------------------------+------------------------
User A | NO | NO | DENIED LOGIN UNTIL 2FA IS SETUP
User B | YES | NO | CAN LOGIN (PRIVATE/PUBLIC KEY USED)
User C | NO | YES | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)
User D | YES | YES | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)
Theo Tài liệu README.md của Google Authenticator :
nullok
PAM yêu cầu ít nhất một câu trả lời THÀNH CÔNG từ một mô-đun và nullok khiến mô-đun này nói IGNORE. Điều này có nghĩa là nếu tùy chọn này được sử dụng thì ít nhất một mô-đun khác phải có THÀNH CÔNG. Một cách để làm điều này là thêm ph_permit.so yêu cầu vào cuối cấu hình PAM.
Điều này làm cho việc sử dụng nullok
ở đây an toàn.