ログイン時にSSHバナーを表示する方法(パスワード認証の場合のみ)

ログイン時にSSHバナーを表示する方法(パスワード認証の場合のみ)

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

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

答え1

はい、プラグインを使用できます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 yes編集: に次の内容が含まれていることも確認する必要がありますsshd_config。password を auth に置き換えました。

答え2

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

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

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

Banner表示されています前に認証は行われません。

pam または他のメカニズムを使用してこれを行う方法があるかどうか疑問に思っています。

リモート (ソース) ホスト名を確認して、pam_accessユーザーがネットワーク外から来ているかどうかを確認します。

セッション [成功=1 デフォルト=無視] pam_access.so アクセスファイル=/etc/pam_access_localnet.conf
セッションオプション pam_echo.so ファイル=/etc/notice

/etc/pam_access_localnet.conf:

+ : すべて : 192.168.201.0/24
- : すべて : すべて

関連情報