ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする

先日の記事で、WordMoveというデプロイツールをVCCWから使う方法について紹介しました。

WordMoveを使ってVagrant内のWordPressと本番環境を同期する!

この作業手順の中で、ゲストマシンで秘密鍵をつくってAmimotoに登録するみたいなことをやってましたが、ssh-agentのforward機能を使うとそれらの作業が不要になりますので、そのへんの手順を紹介します。

これをやっておくとゲストマシンから、GitHubのリポジトリをsshでcloneするとか、Amimotoで作ったAWS上のマシンに接続するとかもできますので、設定しておくことをおすすめします。

ちなみにMacOSXには最初から入ってるみたい。

ホスト(Mac側)でやること

以下のコマンドでssh-agentに秘密鍵を登録するだけです。

ssh-add -K ~/.ssh/id_rsa

-Kというオプションは、Macのキーチェーンに保存しといてねっていう意味で、これをしないとMacを再起動した時に忘れちゃうようです。

Vagrantでやること

Vagrantfileに以下の1行を挿入してください。

config.ssh.forward_agent = true

VCCWには以下のようにコメントアウトした状態ではいっていますので、コメントアウトを解除してください。

# config.ssh.forward_agent = true

以上が完了したらvagrant up(またはvagrant provision)してください。

設定作業は以上で完了です。

確認

上記の作業が完了したらためしにvagrant sshでゲストマシンにSSH接続して、以下のコマンドを実行してください。

$ ssh-add -l

以下のような出力があればばっちりです。

2048 6e:ef:86:27:2c:a9:xx:xx:xx /Users/xx/.ssh/id_rsa (RSA)

 

以上で、VCCWからWordMoveを使いたいときには、WordPressの接続情報だけを書けばいいだけになりました。

従来の作業フローをひっくり返すほど便利なのでおすすめ。

参考