web-dev-qa-db-ja.com

特定のユーザー向けのGoogle認証システム

Ubuntu 16.04(LTS)を実行しているテストサーバーの1つでGoogle認証システム(2ステップ認証)を有効にした後、サーバーにGoogle認証システムプロファイルを持たないユーザーでログインできなくなったことに気付きました。このユーザーがログインできるようにするには、Google認証システムプロファイル(キー)を作成する必要がありました。

私の質問は、特定のユーザーにグーグル認証システムを使用させ、他のユーザーにグーグル認証システムなしでSSHログインさせることは可能でしょうか?.

詳細:

user1には、Google認証システムを持つプロファイルがあります。

user2には、Google認証システムを持つプロファイルがありません。

user1はSSH経由でログインし、Google認証システムアプリから提供されたパスワードとコードを入力すると、ログインできます。

user2はSSH経由でログインし、パスワードを入力してログインできます(コードを入力する必要はありません)。

Google認証コードが必要なユーザーグループと不要なユーザーグループの2つのユーザーグループが理想的です。

3
user1116942

以下のソリューションを使用すると、特定のユーザーに対してPAM Module(google authenticator)を無効にできます。

1)Linuxインスタンスでユーザーグループを作成します。この新しいグループに存在するユーザーのMFA/PAMは無効になります。

Sudo groupadd <groupname>

2)ユーザーを作成するか、既存のユーザーを新しく作成したグループに追加します-

Sudo useradd <username>
Sudo usermod -a -G <groupname> <username>

3)/etc/pam.d/sshdファイルを編集し、以下のステートメントを追加して、新しく作成されたグループのPAMモジュールをスキップします-

auth [success=done default=ignore] pam_succeed_if.so user ingroup <groupname>

オプション

この新しいグループにフルアクセスが必要な場合は、visudoファイルに次の行を追加します。

%<groupname>ALL=(ALL)       NOPASSWD: ALL

ユーザーが作成されて新しいグループに追加されると、それらのユーザーのMFAはスキップされます。

参照元- TechManyuブログ

4
Abhimanyu Garg

これが役立つ場合があります: グループのPAMモジュールを無効にする

1人のユーザーをgoogle-authenticatorグループに、他のユーザーをnon-google-authenticatorグループに配置できます。

2
Z3r0byte

私は試しませんでしたが、 readme は " nullok "オプションを追加するだけでいいと言っています:

auth required pam_google_authenticator.so nullok
1
e_g1gor