vagrantで新しいboxを作成し、立ち上げるまでに発生したいろいろな失敗と対処まとめ

vagrantで新しいboxを作成し、立ち上げるまでに発生したいろいろな失敗と対処まとめ
いつも同じ失敗を繰り返すので・・・
自分用メモです。

---

# Couldn't open file /C:/Users/to/vagrant/folder/base
**内容**
baseファイルが見つかりません。
**理由**
`vagrant init`時にboxを指定し忘れている。
**対処**
対象ディレクトリ内のVagrantfileを削除し、以下のコマンドを入力。

```
vagrant init boxname
```

# vagrant upしたら認証がおわらない
具体的には以下のようになる。

```
C:/Users/to/vagrant/folder>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'boxname'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: boxname_default_1512954338905_67331
==> 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:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
    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 meaadns 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は起動しているのでsshでログイン。
しかしOpen-sshを導入するのが面倒だったため、すでに入れているssh接続できるターミナルからログイン。

パスワードはvagrantできちんとログインできることを確認する。

このような状態に陥ってしまう理由がわからないが、とりあえずエラー文でググったら以下の２つが出てきた。
[vagrant upで失敗する原因が鍵不一致の場合の対処法](https://qiita.com/d2cdot-mmori/items/1c340f175ae510e4456a)
[VagrantのAuthentication failure.エラーへの対応](https://qiita.com/shyse/items/9ec50b868b90f847c75f)

```
$ sudo cat /var/log/secure
```

でログを確認したところ、下の方のエラーであることが判明する（文章がまんま同じだった）
そのため、記載されている方法通りにauthorized_keysの権利を変更する

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

ターミナルを閉じ、ホストPCのターミナルで再び

```
C:/Users/to/vagrant/folder>vagrant reload
```

したところ、順調に起動。お疲れ様でした。

## 余談
下の方のエラーの場合にたどり着くまでかなり時間を取られてしまったので、とりあえずでもログの確認は必要。