背景
仕事で複数台のサーバーにそれぞれアクセスする場合があるのですが...
毎回ssh接続のたびに、異なるIPを ssh root@192.168.1.1
とか
ssh centos@127.0.0.1
とか打つのは面倒くさいです。
先輩から ~/.ssh/config
を設定するといいよ!と教えてもらい設定することに!
やった方がいい理由
普段ターミナルからshellを扱うときには補完が利くzshとかfishで入力する場合が多いと思います。
実際、私自身も過去にfishがコマンドを補完してくれるので、補完で出てきたコマンドをそのまま打って、本番につないでいるつもりでstaging環境(準本番環境)につないで作業してしまうという間抜けなミスをしたことがありました。
実際2つのサーバーで微妙にIPが似ていて、うろ覚えでfishの補完で出てきた
ssh ユーザー@127.0.0.1
をそのまま打ってしまったのが原因です。
staging環境だと思って本番環境で作業していたら、本当に洒落にならなかったですね。
実際複数台のサーバーのIPを全て覚えるのは難しいので、ミスを未然に防ぐという意味でも設定しておいた方が良いかと!
設定方法
vimで~/.ssh/configに対象のサーバーのホスト名とIPとユーザー名を追加するだけ
$ vim ~/.ssh/config
.ssh/configファイルの中身で任意の場所に下記項目を追記する
<省略>
Host bt ← ここにsshの時に入力したいエイリアスを指定(今回はbatchサーバーということでbtと入力)
HostName 127.0.0.1 ← ここにサーバーのIPを入力する
User hoge ← サーバーに入るユーザー名を指定
<省略>
最後に確認
# sshで入れることを確認
$ ssh bt
[hoge@batch ~]$
これでOK