[iTerm2] SSHで接続サーバ毎でプロファイルを替える

SSHで接続する時に間違って本番でやらかすのが怖いので色を変更したい場合があります。
Windows現場でやるときはWinSCPを使用してやるのですがmac現場でiTerm2でやることにしました。
最初の軌道でなんとも言えない挙動が出たので自己責任ですw
iTerm2にはProfiles→AdvancedでProfileを変更出来るようになっているっぽいのですが、shell integrationとやらをローカルとサーバにもインストールしないといけないらしく、間違えて開発サーバにインストールしてしまう事故を起こしました。

iTerm2のPreferences→Profiles で背景や文字色を設定します。自分はDev環境とProd環境で作成しました。

次にzshを使っているので .zshrc に下記コードを書いていきます。

function ssh_diff() {
    case $1 in
        *prod* ) echo -e "\033]50;SetProfile=Prod\a" ;;
        *dev* ) echo -e "\033]50;SetProfile=Dev\a" ;;
        *) echo -e "\033]50;SetProfile=Default\a" ;;
    esac
    ssh $@
    echo -e "\033]50;SetProfile=Default\a"
}
alias ssh='ssh_diff'

.ssh/config のHostの名前でわけています。

# 開発サーバ
Host dev
HostName xxx.eee.ddd.bbb
  User ec2-user
  Port 22
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh -W %h:%p -i /Users/xxxxx/.ssh/id_rsa -p 22 user@nnn.vvv.ccc.xxx

このdevにsshするときにProfilesのDevにするようにします。

このようにsshする時に背景色と文字色が替わるようになりました。
めでたし。

コメント

タイトルとURLをコピーしました