vagrant で openssh の代わりにputtyを起動したい

前回までのお話:vagrant sshssh が起動させられるけど別にputtyとか開いてたらなんか魅力半減なのでMinGWssh入れた

けどターミナルがcmdだと非常に面倒。

4/22追記 下記より、 vagrant-multi-putty 使った方がいいよ!

で、sshコマンドを乗っ取ってminttyからsshを開くようにしたい。 C:\vagrant\vagrant\embedded\bin に ssh.cmd というファイル名でバッチファイル作ればいいことが分かった。

@mintty ssh %*

という内容のssh.cmd を C:\vagrant\vagrant\embedded\bin に置くと、minttyからsshが開くけどなんか日本語の扱いがおかしい。そこで下のように書き換えてputtyを利用するようにした。


なんか貼り付けられない……こちらから→ https://gist.github.com/nazoking/5352687

puttyとopenssh は起動オプションが違う。rubyで次の変換を行っている。

    • ポート指定 -p XXX → -P XXX
    • キー指定 -i XXXX → -i XXX だけどopenssh のファイルはそのままでputtyで開けない
      • 開くファイルをputtygen で読み込んでputty用の秘密鍵に変換してやる必要がある。(上のワンライナーではそこまで面倒を見ていなくてファイル名の最後に ppk を付け足してるだけなので C:\Users\自分\.vagrant.d\insecure_private_key を読み込んで同じ位置にputty用の秘密鍵を .ppk を付けて保存する
    • sshオプション -o → puttyだとどうなるか分からないので無視する