特定のユーザーに対してSSH MOTD /バナーを無効にする

特定のユーザーに対してSSH MOTD /バナーを無効にする

/bin/エコーを返し、存在するカスタムシェルがあります。そのシェルにのみ接続されているユーザーがいるため、誰かが pubkey を介してそのユーザーだけを使用してサーバーに ssh しようとすると、カスタムシェルは何かをエコーし​​、すぐに終了します (エコの直後に ssh 接続を閉じます)。

問題は動作していますが、認証後はデフォルトのUbuntu MOTD /バナーが表示され、エコーを再度希望することです。

予想される

local@sever:~$ ssh honeypot@remote-server
Welcome 1.2.3.4 | you've been logged
Connection to remote-server closed.
local@server:~$

何が問題なの?

local@sever:~$ ssh honeypot@remote-server
Welcome to Ubuntu 16.04.x LTS (GNU/Linux x.x.x-xxx-generic x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud

6 packages can be updated.
0 updates are security updates.

New release '18.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


*** System restart required ***
Last login: Thu Oct 2 01:08:16 2017 from 1.2.3.4
Welcome 1.2.3.4 | you've been logged
Connection to remote-server closed.
local@server:~$

注:他のすべてのユーザーに対してMOTD / Bannerを無効にしたくないので、Match User honeypot Banner nonesshdを試しましたが機能しません。また、/etc/profilewhoamiを使用してユーザーを確認する方法も試しました。

編集:解決策を見つけて回答として投稿しましたが、まだ適切な回答を探しています。

ベストアンサー1

ログインメッセージは複数の場所から来ることができます。設定されている場合は、SSHバナーが最初に表示され、次に/etc/motdテキストファイルの内容(管理者が作成して維持するテキストファイル、またはスクリプトによって定期的に生成される場合があります)が表示されます。私はUbuntuが別のアプローチを使用していると思います。man motdおそらくインスピレーションを得たでしょう...)。

最後に、ユーザーのシェルrcファイルは直接または他のユーティリティを呼び出して追加のメッセージを表示できます。

設定したら、Banner none設定ファイルでSSHバナーを設定してグローバルに無効にできます。あるいは、より詳細な制御のために、次のものを使用することができます。

Match User honeypot
    Banner none

どちらの場合も、sshd変更を適用するには再起動します。

/etc/motd個々のユーザーを表示したくない場合は、そのユーザーのホームディレクトリに.という名前のファイルを作成します。このファイルが存在する場合、プログラムは.hushloginログインシェルを起動するまでlogin内容を表示しません。/etc/motdユーザーがログインして端末を取得できる場合は、ファイルを自由に削除できます。

おすすめ記事