Windowsで vagrant ssh をしたいとき、cygwinやmingwなどを使いますが昔馴染みのTeratermでVagrantマシンに接続したい場合もあるかと思います。(ログをとりたいなど。)
そんなときに使えるTeratermマクロを紹介します。
まずは vagrant up でvagrantを起動したあと、sshの情報を取得します。
> vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile e:/vagrant/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
PortとIdentityFileをメモしておきます。
特にVagrant 1.7からはIdentityFileの場所が変わりました。
以下がTeratermマクロです。
vagrant.ttl
; Vagrant macro
; this file path
getdir dir
; teraterm.iniの絶対パスを指定します。ここではマクロファイルと同じフォルダに置いています。
inifile=dir
strconcat inifile '/teraterm.ini'
; portを指定します。上で取得したPortの値に書き換えます。
port=2222
; private keyを指定します。上で取得したIdentityFileの値に書き換えます。
keyfile='e:/vagrant/.vagrant/machines/default/virtualbox/private_key'
sprintf2 constr 'localhost:%d /F=%s /ssh /2 /auth=publickey /user=vagrant /keyfile=%s' port inifile keyfile
connect constr
以上です。
ttlファイルにTeratermマクロが関連付けられているとダブルクリックでTeratermが起動し、Vagrantマシンに接続されます。
