ログイン先を間違えると大惨事になる。
開発環境にログインしたとつもりで、本番のファイルを消してしまった……なんて目も当てられない。
なので、SSH ログインするときはログイン先に注意して ssh xxx-stg-hoge
とか ssh xxx-PRODUCTION-hoge
とか打つんだけど、それでもまだまだ怖い。
よくある対策として /etc/motd に figlet などで生成したテキストを置いておき、ログイン時にターミナルに表示させるやり方がある。
これは誰がログインしても表示されるので、ベストな方法だと思う。
似たようなやり方で .bashrc に表示コマンドを書くやり方もある。
しかし、諸般の事情(ルートになれないとか共通ユーザー使っているとか)でそれらのファイルを触れない場合の対策として何かないかと探していたところ、~/.ssh/config の LocalCommand
を使えば表示できそうだとわかった。
Host xxx-stg-hoge
HostName xxx.stage.example.com
PermitLocalCommand yes
LocalCommand printf '\e[1;7;33m %%s \e[0m\n' '検証'
Host xxx-PRODUCTION-hoge
HostName xxx.example.com
PermitLocalCommand yes
LocalCommand printf '\e[1;7;31m %%s \e[0m\n' '本番'
これでログイン時に背景色付きラベル表示で警告がされる。
わかりやすくなった。