sshd:特定のユーザーに対してPAM認証を有効にする方法


9

私はsshdを使用しており、公開鍵認証でのログインを許可しています。

選択したユーザーがPAM 2要素認証モジュールでログインできるようにしたい。

特定のユーザーにPAM 2要素認証を許可する方法はありますか?

同じように-特定のアカウントのパスワード認証のみを有効にしたい。誰かが私の重く守られた秘密口座、知っている場合を除いて-私は、パスワード認証を受け入れないことを考えることになるはずハッカー私のSSHデーモンを阻止するために、パスワード認証の試行を拒否したいです有効なパスワードを。SSHクライアントでシークレットキーまたは2要素認証を実行できない場合に、これを実行します。


どの二要素製品ですか?
スコットパック

google-authenticator
Brad

回答:


8

おそらくpam_listfileモジュールでこれを処理できます。/etc/pam.d/sshd次のようなファイルを作成します。

auth requisite  pam_listfile.so item=user sense=allow file=/etc/authusers
auth sufficient pam_securid.so
auth required   pam_deny.so

これ/etc/authusersにより、2要素モジュール(この例では、secureid)で認証する機能にリストされている人のみが許可されます。私は実際にこの構成をテストしていませんが、理論は確かです。

二要素認証を使用して誰でも認証できるようにすることで、より簡単にすることができます。おそらく、適切なデバイス/構成を持っている人だけが成功することができるので、効果的に同じ動作が得られます。


私はちょっと似たようなことをしています-私はsshdにChal / Respと秘密鍵を許可しています。Google-Authenticatorチャレンジ/レスポンス用に実際に構成されているアカウントは1つだけなので、他のアカウントは秘密鍵のみを使用する必要があります。これは私がこれから手に入れるのと同じくらい良いと思います...
ブラッド


3

以下のソリューションを使用して、PAMモジュール(googleオーセンティケーター)を特定のユーザーに対して無効にすることができます。

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ブログ

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