LinuxでSSH接続後のログインメッセージを変更する方法

Linuxにssh接続/ログインしたあと…

  • ログインメッセージが出てくる
  • このメッセージを任意に変更したい
  • 重要事項をログイン時に教えたい

このログインメッセージを変更したので、
ついでにLinuxでの変更方法をまとめておきます。

Amazon Linuxでのログインメッセージの例

初めにログインメッセージについて。

たとえばAWSではAmazon LinuxをEC2インスタンスに使うことが多く、そこにSSH接続することが頻繁にあると思います。(TeraTermとか使って)

そしてログイン成功したとき、
Amazon Linuxではこんな表示が出てきます。

Amazon Linuxに対してSSH接続した後に出てくるログインメッセージの例

こういうの

上記のEC2のアスキーアートから「Run "sudo yum update" to apply all updates.」までがログインメッセージです。ログインする度に出てくる奴です。

これを変更したかったんですよね。

変更は簡単で /etc/motd を編集するだけ

変更方法はとても簡単でした。

単純に /etc/motd  の内容を編集するだけ

具体的には次のような手順です。

▼ vimなどから /etc/motd  を開く

▼ ログインメッセージが編集できる
▼ Amazon Linuxならこういう内容

ログインメッセージそのものです。

これを好きなように編集可能です。例えばEC2のアスキーアートを弄ったり、ログインユーザーに伝えたい重要事項などを追加したりとか…

ちなみにvimの使い方は大丈夫だと思うけど、iキーで編集モード・ESCキーでコマンドモードです。ファイル保存するときはESCしてから :wq  などしてください。

簡単すぎてビックリした

早速ログインメッセージを変更してみた

ということで早速変更してみました。

この画像をアスキーアートに変更し、
ログインメッセージにでっかく表示してみます。

▼ 変換したい画像

ログインメッセージにasciiアートとして表示したい元画像

▼ このツールを使った

https://birdwatcheryt.github.io/software/aa/aa.html

▼ ログインメッセージを変更(実用性皆無)

そして再度SSH接続してみると…

Linuxのログインメッセージが /etc/motd の内容通りの表示になった。このように好きなメッセージを表示可能

ログインメッセージの変更に成功!

メッセージにユーザー名を含めるには?

これだけだと何かつまらないので…

動的にログインメッセージを表示する方法について

例えばユーザー名を表示したりとか、
ユーザーごとに少し表示を変えるとかです。

でも /etc/motd  はテキストファイル、
そこに変数とか分岐とかは含められません。

そこで /etc/profile  に細工します。

▼ vimなどで /etc/profile  を開く

▼ ファイル最後にユーザー名出力コマンド追加

これにより先ほど設定したログインメッセージのあとに "Welcome ec2-user!!!"  みたいな感じで追加のメッセージを表示することもできます。

というか /etc/motd  は任意のタイミングで書き換えされる恐れもあるため、好きなログインメッセージを表示したいなら /etc/profile  に書くのが最適かもですね。

好きなように設定してください。

以上、Linuxでログインメッセージ変更でした。