VagrantのAuthentication failure.エラーへの対応


## 事象内容


vagrant 1.8をインストールしテスト環境を作成したところ、
以下のエラーが出て一向にVMの起動が進まない。

```
$ vagrant -v
Vagrant 1.8.5
```


```
$ 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: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
（以下略）
```

## 対応方法



まずはVM側のフォルダの許可権を変更。


```
$ chmod 0700 /home/vagrant/.ssh/
$ chmod 0600 /home/vagrant/.ssh/authorized_keys 
$ chown -R vagrant /home/vagrant/.ssh/
```

この状態でVMを起動。



```
$ 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: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...

==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.3.28
    default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
    default: /vagrant => /Users/yuta/vagrant/centos7
```


・・・解決したようだ。

## 2016/09/02追記

authorized_keysファイルはの許可権は600にする必要がある。（参考に追加）

また仮想マシンをsuspend -> resumeした時にまたまた認証のエラーが出ていたので公開鍵を置き換えないように記述を追加する。

```ruby:Vagrantfile
## 公開鍵を置き換えないようにする。
config.ssh.insert_key = false
```



なお、/var/log/secureに認証エラーのログも出力されている。

```
Aug 30 16:05:21 localhost sshd[3371]: Connection closed by 192. 168.0.1 [preauth]
Aug 30 16:05:21 localhost sshd[3373]: Authentication refused: bad ownership or modes for file /home/vagrant/.ssh/authorized_keys
```

## 参考

http://qiita.com/shyse/items/9ec50b868b90f847c75f
http://qiita.com/HamaTech/items/21bb9761f326c4d4aa65
http://takuya-1st.hatenablog.jp/entry/20090216/1234742055