Authentification SSH à deux facteurs sur adresse externe uniquement

11

J'ai un serveur Ubuntu avec une IP privée, interne, IP et publique. Je souhaite configurer l'authentification à deux facteurs pour SSH uniquement du côté public. Est-ce possible? J'avais l'intention d'utiliser Google Authenticator, mais je suis également ouvert à d'autres idées.

Brett F.
la source
Pour plus d'informations, voir aussi unix.stackexchange.com/questions/388384/…
FarO

Réponses:

15

Oui, vous pouvez le faire avec pam_access.so. Cette recette est tirée du wiki de Google Authenticator :

Une recette PAM utile consiste à permettre d'ignorer l'authentification à deux facteurs lorsque la connexion provient de certaines sources. Ceci est déjà pris en charge par PAM. Par exemple, le module pam_access peut être utilisé pour vérifier la source par rapport aux sous-réseaux locaux:

# skip one-time password if logging in from the local network
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth       required     pam_google_authenticator.so

Dans ce cas, access-local.conf ressemble à:

# only allow from local IP range
+ : ALL : 10.0.0.0/24
+ : ALL : LOCAL
- : ALL : ALL

Ainsi, les tentatives de connexion à partir de 10.0.0.0/24 ne nécessiteront pas d'authentification à deux facteurs.

Michael Hampton
la source
1
C'est exactement ce que je cherchais. Je ne sais pas pourquoi je ne l'ai pas vu plus tôt. Merci!
Brett F.26
4
Michael Hampton Merci pour l'exemple, mais cela n'a pas fonctionné pour moi car j'ai toujours eu l'erreur Autorisation refusée (clavier interactif). Je l'ai compris parce que je l'ai utilisé AuthenticationMethods publickey,keyboard-interactivedans mon /etc/ssh/sshd_config. J'ai donc changé ce qui suit pour le corriger:auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf auth optional pam_google_authenticator.so nullok
Jeremy Laird
@JeremyLaird ces lignes sont munées .. où sont les nouvelles lignes?
shadowbq