ssh ログイン時に背景色を変えたいと思う時があります。背景色を変えておけばローカルで実行しようとしたコマンドをうっかり本番環境で実施する事故を防げる可能性があるためです。本番はきつめの色にしておけば、危険性が視覚的にわかります。ただ、本番環境なので bashrc を勝手に書き換えるのも・・・ということでローカルだけの変更にとどめておきたいです。
今回は Windows 標準の ssh コマンドの設定例です。 %userprofile%\.ssh\config
ファイルを書き替えます。
Host example
HostName example.com
User xxx
Port 22
IdentityFile ~/.ssh/id_rsa
PermitLocalCommand yes
LocalCommand color 3f
LocalCommand という設定が今回重要な項目です。 ssh ログイン時にここで指定したコマンドが実行されます。Windows のコマンドプロンプトで使えるコマンドを指定可能です(Powershell 経由で動かした場合も同様)。
PermitLocalCommand yes
は LocalCommand を使用するために必要な項目です。
上記の設定をすると ssh example
のようにコマンドを実行すると背景色が切り替わります。注意点としてはログアウト時に色が戻らない点です。
以下は各シェルで色を戻す方法です。
コマンドプロンプトで色を戻す場合
color
Windows PowerShell で色を戻す場合
clear-host
PowerShell 7 で色を戻す場合
[System.Console]::ResetColor()
clear-host