web-dev-qa-db-ja.com

ログイン時にSSHバナーを表示する方法、ただしパスワード認証のみ

Linuxサーバーにログインするためにユーザー名を入力した後にユーザーに表示される警告メッセージがあります。このメッセージはパスワード認証のためだけに表示したいので、キーが使用されているときは表示しません。ホストにログインしているユーザーにのみ表示され、あるホストから別のホストにSSH接続しているときは表示されません(すべてのホストにキーが設定されているため、パスワードを入力せずに別のホストにSSH接続できます)。

現在、/ etc/ssh/sshd_configファイルに、警告メッセージを含むテキストファイルを指すBannerの行があります。バナーにはそれ以上の設定オプションがないようですので、pamまたは他のメカニズムでこれを行う方法があるかどうか疑問に思っていますか?ありがとう。

5
Banjer

はい、pam_echoプラグインを使用できます。

auth required pam_unix.so
auth optional pam_echo.so file=/etc/ssh/password_banner.txt

これにより、パスワードログイン後にpam_echo出力が生成されます。

ドキュメントについては、 http://www.linux-pam.org/Linux-PAM-html/sag-pam_echo.html を参照してください。

編集:UsePAM yessshd_configが含まれていることも確認する必要があります。パスワードをauthに置き換えました。

7
Sam Halicke

このメッセージはパスワード認証のためだけに表示したいので、キーが使用されているときは表示しません。ホストにログインしているユーザーにのみ表示され、あるホストから別のホストにSSH接続しているときは表示されません(すべてのホストにキーが設定されているため、パスワードを入力せずに別のホストにSSH接続できます)。

あなたは話しているユーザーキー~/.ssh/authorized_keysまたはホストキー/etc/ssh/ssh_known_hosts

現在、/ etc/ssh/sshd_configファイルに、警告メッセージを含むテキストファイルを指すBannerの行があります。

Bannerが表示されます認証が行われます。

Pamまたは他のメカニズムでこれを行う方法があるかどうか疑問に思っていますか?

リモート(ソース)ホスト名を確認してみてください:check with pam_accessユーザーがネットワークの外部から来た場合:

 session [success = 1 default = ignore] pam_access.so accessfile =/etc/pam_access_localnet.conf 
 sessionoptional pam_echo.so file =/etc/notify 

/etc/pam_access_localnet.conf

 +:ALL:192.168.201.0/24 
-:ALL:ALL 
0
user1686