निम्नलिखित के लिए गूगल 2FA अनिवार्य कर देगा सभी उपयोगकर्ताओं
को छोड़कर से संबंधित उन sudo और व्यवस्थापक समूह
(जिसका अर्थ है अगर समूह sudo या व्यवस्थापक से एक उपयोगकर्ता 2FA कॉन्फ़िगर किया गया है, यह उसे प्रमाणित करेगा नहीं है / उसे अपने सार्वजनिक कुंजी के आधार पर):
फ़ाइल: /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
फ़ाइल: /etc/ssh/sshd_config
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
ChallengeResponseAuthentication yes
परिणाम:
| 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)
Google प्रमाणक की README.md प्रलेखन के अनुसार :
nullok
PAM को मॉड्यूल से कम से कम एक SUCCESS उत्तर की आवश्यकता होती है, और nullok इस मॉड्यूल को IGNORE कहता है। इसका मतलब यह है कि यदि इस विकल्प का उपयोग कम से कम एक अन्य मॉड्यूल के लिए किया गया है तो SUCCESS ने कहा होगा। इसका एक तरीका यह है कि PAM कॉन्फ़िगरेशन के अंत में कई ज़रूरी pam_permit.so जोड़े जाएं।
इससे यहां का उपयोग nullok
सुरक्षित हो जाता है।