LoginSignup
23
25

More than 5 years have passed since last update.

Vagrant 1.7 〜 で vagrant package する場合の注意

Posted at

背景

Vagrant 1.7〜 での SSH 鍵の扱い

Vagrant 1.7 以降では、vagrant up 時に旧来の insecure_key を検知した場合、その仮想マシン用の別の鍵ペアを生成して insecure_key を置き換える。

生成した秘密鍵は .vagrant/machines/default/virtualbox/private_key に置かれ、それ以降そのマシンへのアクセスは新しい鍵が使われるようになり、insecure_key での SSH はできなくなる。

vagrant package

vagrant package コマンドはその時点の仮想マシンイメージをファイルにエクスポートする。

よく使うプロビジョニングを済ませた状態の box を作っておいて、vagrant box add して効率よく使いまわしたりができる。

注意点

よく使うプロビジョニングを Vagrant で済ませようとして、

  • どこかで vagrant up して中身をもにょもにょ (Vagrant 1.7使用)
  • vagrant package
  • vagrant box add myprebuildbox ./package.box

とかやるとすると

別のところで myprebuildboxvagrant up しようとした時に、box の中身の公開鍵が insecure_key から差し替えられていることで、デフォルト設定で起動できないことになる。

なので、vagrant package するつもりの仮想マシンは、insecure_key を置き換えないように、config.ssh.insert_key = false して置くのが無難

Vagrant 公式ドキュメント http://docs.vagrantup.com/v2/vagrantfile/ssh_settings.html より

This only has an effect if you don't already use private keys for authentication or if you are relying on the default insecure key. If you don't have to take care about security in your project and want to keep using the default insecure key, set this to false.

23
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
25