はじめに
最新版では起こらないかもしれません。
昔の記憶を基に書いていますが、
- vagrant : 1.9.2 (古い。。。)
- VirtualBox : 5.1.22
で再現しました。
vagrantのVMをいじって新たなboxを作った後の話です。
問題の説明
box準備して、Vagrantfile編集して、いざvagrant up!!!
- 固まる
- Authentication failure retrying...
- vagrant ssh出来ない
よくあると思います。
vagrantは、VirtualBoxとのバージョンの相性がデリケートな印象なので、
- とかの場合はバージョンを下げたりすると治ったりします。
- のエラーは個人的にはネットワーク設定をいじるとそこそこ治ります。
(よく nm_controlledをyesに書き換えるスクリプトをVagrantfileに書いて、
NetworkManagerサービスで管理されるよう にする、という対応をしています。)
問題は2.です。
google大先生に聞くと、結構ヒットして、
- insecure key をgithubから持ってくる
- authorized_keysの設定をちゃんとする
- ~/ と ~/.ssh と ~/.ssh/authorized_keys のパーミッションをちゃんとする
なんかが出てきます。そして大体↑の対応で直るんですが、以前、上記対応を全て実施したのにも関わらず鍵認証がうまく出来ないことがありました。
回避策
vagrantのVMから新たにboxを作る際、
vagrant package
でpackage.boxを作り、boxをaddするかと思いますが、この時
vagrant package ID
として、ID指定でboxを作ると、上記のような問題が起こります。
(IDは vagrant global-status で表示されるID)
そこで、vmを立てたディレクトリで
vagrant package
のみとするか、
vagrant package VM名
とすることで回避出来ます。
(VM名は ~/VirtualBox VMs/ に有るもの)
原因は不明です。。。