motd で ssh した直後のメッセージをカスタマイズする

Linux の motd (message of the day) を使って、 ssh した直後に標準出力するメッセージをカスタマイズ出来る。

motd では、任意のファイルを実行することが可能なので、シェルスクリプトで書いたり Ruby で書いたり(多分バイナリでもOK)することが可能だ。

SSH したサーバが何の目的のサーバなのか表示させたり、現在デプロイされてるバージョンを表示させたり、ネットワーク上から取得した情報を表示させたり、等何でもすることも出来る。

ディストロによって方法は異なるようだが、例えば Ubuntu20 では、 /etc/update-motd.d/ 以下に置いてあるファイルがファイル名順に実行される。デフォルトが 10-~, 50-~ のようなファイル名なので、先頭の数字を調整すれば簡単に表示順序を変えられる。実行権限がないファイルは無視されるので、不要なメッセージは削除せずとも実行権限を外すだけで表示されなく出来る。

例えば、/etc/update-motd.d/00-header などのファイル名で下記を置く。

#! /bin/bash

echo "=============================="
echo "Elixir Social checklist server"
echo "==============================\n"

ipv4=$(curl http://169.254.169.254/latest/meta-data/public-ipv4)
echo "Public IPv4: $ipv4\n\n"

AWS ならば、 meta-dataaws-cliec2 describe-instance などと組み合わせて工夫すれば、サーバ台数が増えてきたときでも確認の手間などを減らしたり出来る。

注意点は、ssh のたびに実行されるので、重い処理を入れると ssh ログインが遅くなってストレスになるところだろうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です