色んなサーバーにログインする機会が増えたので.ssh/configを書いてみた
最近、ログインして作業するサーバーが増えてきました。増える分にはいいんですが、微妙にユーザー名が違うサーバーがいくつかあって、いちいちusername@host
って書くのが面倒くさくなってきました。なので.ssh/config
を書いて楽をすることにしました。
方法
$ vi .ssh/config
ServerAliveInterval 60
Host dev.example.com
User foo
Host git.example.com
User bar
IdentityFile ~/.ssh/id_rsa_typea
Host example.org
User baz
IdentityFile ~/.ssh/id_rsa_typec
流石に使ってるのをそのまま書くわけにはいかないので、例としてこんな感じです。IdentityFile
で使う秘密鍵も接続先ホストによって切り替えられます。
さらに楽するために
$ pwd /home/myuser $ touch dev.example.com $ touch git.example.com $ touch example.org
上記の様に、ファイル名がホスト名な空ファイルを、自分のホームディレクトリに作りました。こうしておくと、$ ssh de
くらいでTabを押せば$ ssh dev.example.com
まで補完してくれます。もちろん、カレントがホームならですが。ただ、.ssh/configで長いホスト名に短い名前を付けることも出来るらしいので、そっちでやれって話かもしれません。
.ssh/configのテクニックはsshを使いこなすための7つの設定 - 射撃しつつ前転 改を参考にしました。ここでは自分が使ったとこだけしか書いてないので、詳しくはそっちを見てください。