「Last login: ~」自体は内容をカスタマイズできない
まず、sshに表示される「Last login: ~」は、表示を「する」か「しない」かしか選択できません。
これは、別の回答者の方が書いているMOTDとは別の仕組みなので、/etc/ssh/sshd_config
で設定します。書き換えにはroot権限が必要です。
たとえば、「Last login: ~」を表示しない(あるいは別の仕組みを使って表示する)のであれば、PrintLastLog
にno
を設定します。
diff
1-#PrintLastLog yes
2+PrintLastLog no
おそらく、デフォルト値yes
が書かれてコメント化されているので、その行を検索して先頭の#
を削除し、値をno
に変えてください。
sudo systemctl restart sshd
としてsshdを再起動すると、この設定が有効になります。試しに、sshで接続して、「Last login: ~」が表示されないことを確認してください。
接続後に表示するメッセージを作成
自分でカスタマイズしたメッセージ(「Last login: ~」に似た内容でも何でも)を表示したいのであれば、
- MOTD(Message of the Day)を使ってメッセージを表示
- 各ユーザーの
~/.ssh/rc
にシェルスクリプトを仕込む
といった方法があります。
Debian系のディストリビューション(Ubuntuを含む)では、/etc/update-motd.d/
に置かれたシェルスクリプトが、cron.daily
のupdate-motd
によって毎日実行され、その出力から動的にMOTDが生成されるという、柔軟ではあるが面倒くさい仕組みになっています。
いっぽう、RedHat系のディストリビューション(CentOSを含む)では、/etc/motd
は静的なテキストファイルなので、固定したメッセージを表示したいだけなら、テキストエディターで直接編集するだけです。書き換えにはroot権限が必要です。
何かプログラム(シェルスクリプトに限らず)の出力した内容を/etc/motd
に設定したいのであれば、Debian系の処理を真似て、定期的に/etc/motd
が書き替えられるようにcronでプログラムを動かせばいいでしょう。
特定のユーザーだけにメッセージを表示したいのであれば、MOTDのことは忘れて~/.ssh/rc
にシェルスクリプトを書けばいいでしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/15 22:58