EC2インスタンス(Amazon Linux 2)にSSHでログインしたときに表示されるAWSのアスキーアートの代わりに黄色いネズミを表示させるようにします。
ネズミのアスキーアートを用意する。
適当にアスキーアートを探してきます。
そして、/home/ec2-user/banner.txt
としてファイルに保存しましょう。
banner.txtの例
.--, .--,
( ( \.---./ ) )
'.__/o o\__.'
{= ^ =}
> - <
/ \
// \\
//| . |\\
"'\ /'"_.-~^`'-.
\ _ /--' `
jgs ___)( )(___
今回はhttps://ascii.co.uk/art/mouse からお借りしました。もちろんアスキーアートなら何でも大丈夫なので、お好きな黄色いネズミや青いタヌキを用意してください。
AWSの表示を書き換える
/etc/update-motd.d/30-banne
を書き換えます。
sudo vi /etc/update-motd.d/30-banne
でファイルを開き以下のように書き換えます。
#!/bin/sh
#cat << EOF
#
# __| __|_ )
# _| ( / Amazon Linux 2 AMI
# ___|\___|___|
#
#https://aws.amazon.com/amazon-linux-2/
#EOF
echo -e "\033[1;33m$(</home/ec2-user/banner.txt)\033[00m"
$(</home/ec2-user/banner.txt)
が先ほどのアスキーアートファイルでecho "$(<ファイルパス)"
とすることでファイルの中身を出力します。また、\033[1;33m
が色を指定しているところで黄色を指定しています。\033[00m
が色の変更の終了を意味します。
別の色を指定したい場合は以下を参考にしてください。
色 | コード |
---|---|
RED | '\033[0;31m' |
GREEN | '\033[0;32m' |
ORANGE | '\033[0;33m' |
BLUE | '\033[0;34m' |
PURPLE | '\033[0;35m' |
CYAN | '\033[0;36m' |
LIGHTGRAY | '\033[0;37m' |
DARKGRAY | '\033[1;30m' |
LIGHTRED | '\033[1;31m' |
LIGHTGREEN | '\033[1;32m' |
YELLOW | '\033[1;33m' |
LIGHTBLUE | '\033[1;34m' |
LIGHTPURPLE | '\033[1;35m' |
LIGHTCYAN | '\033[1;36m' |
WHITE | '\033[1;37m' |
最後に
sudo update-motd
を実行すると反映されます。これでSSHをつなぎなおすと
おまけ プロンプトの色を変える
~/.bash_profile
に以下を追記します。
これでユーザーのプロンプトの色を変えることができます。
COLOR_BEGIN="\[\e[1;36m\]"
COLOR_END="\[\e[m\]"
export PS1="${COLOR_BEGIN}${PS1}${COLOR_END}"
色の指定はPS1_COLOR_BEGIN
で行っています。
これを保存してログインしなおすとこうなります。(***は実際はipなので一応隠してます。)
まとめ
AWS EC2インスタンスにSSHしたときに表示されるAWSのアスキーアートを変更し、色を付ける方法を(ついでにプロンプトの色変更も)紹介しました。似たような方法で他のOSでも実行可能だと思います。ただのネタのような内容ですが、本番・ステージングや他人の開発環境等へのログイン間違えを防ぐのに役立つので試してみてください。