vagrant upがAuthentication failure. Retrying...だにょん
<問題>
環境は、Vagrant 1.9.1で、、、
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...
なんでだにょーーん(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`)。。。
<原因>
Vagrant 1.7 以降では、vagrant up 時に旧来の insecure_key (ホストOSに配置される公開鍵)を検知した場合、その仮想マシン用の別の鍵ペアを生成して insecure_key を置き換える。 生成した秘密鍵は .vagrant/machines/default/virtualbox/private_key に置かれ、それ以降そのマシンへのアクセスは新しい鍵が使われるようになり、insecure_key での SSH はできなくなる。
<解決方法>(ポイント♡公開鍵認証)
① VagrantfileにゲストOSの公開鍵を置き換えないように以下の設定を追加だにょん。
+ config.ssh.insert_key = false
② デフォルトのinsecure_private_keyとペアになる公開鍵をゲストOS以下の手順で配置するだにょ。
この場合は、vagrant作者であるmitchellh氏のgithubから入手、配置するとしようネ☆(insecure_private_keyからssh-keygenで公開鍵作るもあるらしい)
$ mkdir -p /home/vagrant/.ssh
$ wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/auth
③ .sshのパーミッションを変更しゅるにょだ。
$ chmod 700 /home/vagrant/.ssh
$ chmod 600 /home/vagrant/.ssh/authorized_keys
$ chown -R vagrant /home/vagrant/.ssh
<参考>
にゃんてとこだにょん。