Vagrantで、Authentication failureのWarningが出た場合の対処

Vagrantを起動させた場合に、Warningが出て起動しなくなってしまった時にググった対処方のメモ。

環境

1
2
3
4
5
6
7
・ホスト側
Mac OSX 10.11.6
Vagrant 1.8.6
Virtual Box 5.1.6

・ゲスト側
CentOX 6.5

エラー内容

以下のエラーが出た。

1
Warning: Authentication failure. Retrying...

起動途中で上記のwarningが連発し、タイムアウトで終了してしまう。

原因

vagrant 1.7以降の場合に、vagrantで使用している秘密鍵と公開鍵の不一致?によって引き起こされるエラーのよう。

対処法

以下の手順で対処した。

Vagrantfileに、ゲストOSの公開鍵を書き換えないように以下の設定を追記。

1
config.ssh.insert_key = false

$ vagrant upでvagrantを起動。途中、warningが出るが、ctrl + cで中断する。
中断してもvagrant自体は立ち上がっているので、$ vagraht sshでゲストOSにログインする。

/home/vagrant/以下に、.sshディレクトリがなければ作成する。
(すでにあったので今回は作成していない)

vagrantの作者のGithubリポジトリから公開鍵を取得し、authorized_keysという名前で保存する。

1
$ wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys

ファイルやディレクトリのパーミッションを変更する。

1
2
3
$ chmod 0700 /home/vagrant/.ssh
$ chmod 0600 /home/vagrant/.ssh/authorized_keys
$ chown -R vagrant /home/vagrant/.ssh

ホストOS側にある、.vagrantディレクトリ内のprivate_keyを削除する。 .vagrant/machines/default/virtualbox/private_key を削除。

$ vagrant haltで停止する。

これで再度、$ vagrant upすることで起動することが出来た。

参考

   このエントリーをはてなブックマークに追加