読者です 読者をやめる 読者になる 読者になる

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〜 での SSH 鍵の扱いは、

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

<参考>

qiita.com

qiita.com

kiraba.jp

にゃんてとこだにょん。