Aşağıdakiler, Google 2FA'yı sudo ve admin grubuna ait kullanıcılar
dışındaki tüm kullanıcılar için zorunlu hale getirecektir
(yani, sudo veya admin grubundan bir kullanıcının 2FA yapılandırması yoksa, genel anahtarına göre kimlik doğrulaması yapacak):
Dosya: /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
Dosya: /etc/ssh/sshd_config
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
ChallengeResponseAuthentication yes
Sonuçlar:
| 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)
Göre Google Authenticator'ın README.md Dokümantasyon :
nullok
PAM bir modülden en az bir BAŞARI yanıtı gerektirir ve nullok bu modülün IGNORE demesine neden olur. Bu, eğer bu seçenek kullanılırsa, en az bir başka modülün SUCCESS'e sahip olması gerektiği anlamına gelir. Bunu yapmanın bir yolu, PAM yapılandırmasının sonuna kimlik doğrulaması gereken pam_permit.so eklemektir.
Bu, nullok
burada kullanımı güvenli hale getirir .