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マシンに接続されます。