2016/11/07更新

[Vagrant] v1.8.5でvagrant up時にAuthentication failureになったら...

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

こんにちは、インフラ周りなどお勉強中の@yoheiMuneです。
今日は先日紹介したVagrantについて、Vagrant(1.8.5)でvagrant up時に認証エラーが出て困ったので、その対処法をブログに書いておきたいと思います。

画像

目次




こんなエラーが発生しました

vagrant upをすると突如以下のようなエラーが発生し、sshログインできなくなってしまいました・・・。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
内容としては、認証失敗を繰り返してタイムアウトしてしまったようです。



結論から言うと

vagrant up時のAuthentication failureについては色々とバグのパターンがあるようですが、v1.8.5の場合には、バグのようです。Vagrantのバージョンは以下コマンドで確認できます。
$ vagrant --version
Vagrant 1.8.5

本問題については以下のIssueが起票されて、

Authentication failure after inserting new key with Vagrant 1.8.5. [PATCH] · Issue #7610 · mitchellh/vagrant

以下のプルリクで修正されたようです。

fix for #7610 (incorrect permissions on ~/.ssh/authorized_keys causes authentication failure after insecure keypair replacement) by Poohblah · Pull Request #7611 · mitchellh/vagrant

なので利用者側としては、バージョン1.8.6以降を利用すると良いです。執筆時点の2016年11月には以下でダウンロード可能です。

https://www.vagrantup.com/

どうしてもv1.8.5を使う必要がある場合には、vagrant up時に新規にsshキーを生成する処理に問題があるとのことで、それを抑止するように以下の設定を追加するとエラーを抑え込むことができます。
# Vagrantfileに追記
config.ssh.insert_key = false 
これで無事にvagrant upが実行できました。



最後に

いや〜、この件には3時間くらいハマりました。こーゆうバグもあるもんですね。Vagrantについてはもう少し色々と学びたいと思います。

最後になりますが本ブログでは、Linux・Python・フロントエンド・開発関連・Swift・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSTwitterをフォローして頂けると幸いです ^ ^。

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。