ルート以外のすべてのユーザーがSSHを使用できないようにブロック

ルート以外のすべてのユーザーがSSHを使用できないようにブロック

sshd_configルートユーザーを除くすべてのユーザーのアクセスをブロックするにはどうすればよいですか?

私は見て努力した。

AllowUsers root
DenyUsers *

しかし、これはうまくいきません。

答え1

私は自分で試してみて1行だけ追加しましたが、AllowUsers rootスムーズに実行されました。当然の質問かもしれませんが、明示的に言及していないので、sshd修正後にサービスを再開しましたか?

答え2

Linuxを使用している場合は、ディストリビューションにpam_succeed_if.so PAMモジュールがある場合はそれを使用できます。他のオペレーティングシステムにはある場合とない場合があるため、YMMVです。

/etc/pam.d/sshdから:

account    sufficient   pam_succeed_if.so login = <username>

特定のグループや数値uid / gidなどを許可することもできます。

バラよりhttp://linux.die.net/man/8/pam_succeed_ifこのPAMモジュールに関する追加情報。

答え3

この方法には sshd_config は含まれませんが、効果は同じです。 Linux ホストでメンテナンスを実行する必要がある場合は、root 以外のすべてのユーザーをロックします。完了したら、ファイルを削除します。

echo "System maintenance in progress" > /run/nologin

関連情報