外部アドレスのみの2要素SSH認証


11

私は、プライベートIP、内部IP、およびパブリックIPの両方を持つUbuntuサーバーを持っています。パブリック側のみでSSHの2要素認証を設定したい。これは可能ですか?Google Authenticatorの使用を計画していましたが、別のアイデアも受け入れています。


回答:


15

はい、これを行うことができますpam_access.so。このレシピは、Google認証システムのWikiから取得したものです

有用なPAMレシピは、接続が特定のソースから発信されたときに2要素認証をスキップできるようにすることです。これはすでにPAMでサポートされています。たとえば、pam_accessモジュールを使用して、ローカルサブネットに対してソースを確認できます。

# 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

この場合、access-local.confは次のようになります。

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

したがって、10.0.0.0 / 24からのログイン試行では、2要素認証は必要ありません。


1
それがまさに私が探していたものです。なぜ以前に見なかったのか分かりません。ありがとう!
ブレットF.

4
マイケル・ハンプトン例に感謝しますが、エラーPermission denied(keyboard-interactive)を取得し続けたため、それはうまくいきませんでした。私は私ので使用AuthenticationMethods publickey,keyboard-interactiveしたのでそれを理解しました/etc/ssh/sshd_config。私が変更されて、それを修正するには、次auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf auth optional pam_google_authenticator.so nullok
ジェレミー・レアード

@JeremyLairdこれらの行は変更されています..改行はどこにありますか?
shadowbq
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.