~/.ssh/config を使う

ssh はさんざん使っているけれど、今まで ~/.ssh/config は使ったことがなかった。使ってみたらすごく便利じゃないか。

$ cat ~/.ssh/config
Host fuji
  User takeyuki
  Port 15342
  HostName fuji.example.com
  IdentityFile ~/.k/fuji_prv
  TCPKeepAlive yes
  IdentitiesOnly yes
  LocalForward 10000 localhost:10000
  LocalForward 10080 localhost:80

これで毎回

$ ssh -i ./.keys/fuji_prv -P 15432 -l takeyuki -L 10000:localhost:10000 -L 10080:localhost:80 fuji.example.com

としなくても済む。今までは毎回このコマンドを叩いていた。たいていはコマンドヒストリに残っているので毎回打つわけではないけれど。

$ ssh fuji

だけで同じことができるようになるのが嬉しい。自分が管理している ssh サーバはリスンポートを変えていて、これまたすぐにポート番号を忘れてしまうのだが、覚える必要がないわけだ。
git でリモートリポジトリにアクセスする際も、

$ git clone ssh://fuji/var/repos/stuff.git

でいけるわけだ。便利だ。