1. Vagrantfile の構文エラー (syntax error, unexpected 'end')
エラー内容
Vagrant failed to initialize at a very early stage:
C:/vagrant/centos74/Vagrantfile:79: syntax error, unexpected `end'
原因
-
do ... endやif ... endのブロックが正しく閉じられていない。 -
<<-SHELLの閉じ忘れ。
解決策
-
Vagrantfileを開き、endの前後のコードを確認。 -
ブロックが正しく閉じているか確認(特に
<<-SHELLを使用している場合)。 - 修正後、以下を実行。
vagrant reload
2. SSH 接続時のホストキーエラー (REMOTE HOST IDENTIFICATION HAS CHANGED!)
エラー内容
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Host key verification failed.
原因
- Vagrant を再作成 (
vagrant destroy && vagrant up) したことで SSHホストキーが変更された。
解決策
-
古いホストキーを削除
ssh-keygen -R [127.0.0.1]:2222 -
再度 SSH 接続を試す
ssh.exe -N -L 3307:127.0.0.1:3306 vagrant@127.0.0.1 -p 2222 -i "C:/vagrant/centos74/.vagrant/machines/default/virtualbox/private_key" -
yesを入力し、新しいホストキーを受け入れる。
3. PasswordAuthentication no のまま変わらない
エラー内容
vagrant ssh-config
...
PasswordAuthentication no
原因
-
Vagrantfileやsshd_configの設定が正しく反映されていない。 - SSH サービスの再起動が必要。
解決策
- Vagrant 内にログイン。
vagrant ssh -
sshd_configを編集。以下を確認・修正sudo nano /etc/ssh/sshd_configPasswordAuthentication yes UsePAM yes - SSH を再起動。
sudo systemctl restart ssh - Vagrant を再起動。
vagrant reload --provision
**4. MySQL への接続エラー (Can't connect to MySQL server)
エラー内容
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1'
原因
- MySQL サーバーが停止している。
- SSH トンネルが適切に設定されていない。
解決策
-
Vagrant 内部で MySQL の状態を確認
vagrant ssh sudo systemctl status mysql✅
active (running)ならOK。inactiveなら以下を実行。sudo systemctl start mysql -
手動で MySQL に接続できるか確認
mysql -u homestead -p- パスワードは
secretまたはvagrant
- パスワードは
-
ポートフォワードを再設定
ssh.exe -N -L 3307:127.0.0.1:3306 vagrant@127.0.0.1 -p 2222 -i "C:/vagrant/centos74/.vagrant/machines/default/virtualbox/private_key"
5. HeidiSQL での MySQL 接続エラー
エラー例
- 接続できない
- タイムアウトする
解決策
HeidiSQL の基本設定
| 設定項目 | 値 |
|---|---|
| ネットワークタイプ | MySQL (SSHトンネル経由) |
| ホスト名/IP | 127.0.0.1 |
| ポート | 3307 |
| ユーザー名 | homestead |
| パスワード | secret |
| データベース | (空欄のままでOK) |
SSHタブの設定
| 設定項目 | 値 |
|---|---|
| SSHホスト | 127.0.0.1 |
| SSHポート | 2222 |
| SSHユーザー | vagrant |
| 認証方法 | Public Key |
| SSH キーファイル | C:/vagrant/centos74/.vagrant/machines/default/virtualbox/private_key |
| ローカルポート | 3307 |
| リモートポート | 3306 |
まとめ
- SSH のホストキー変更時は
ssh-keygen -R [127.0.0.1]:2222でリセット PasswordAuthentication yesを適用後、SSH を再起動 (sudo systemctl restart ssh)- Vagrant で
reload --provisionして設定を反映 - HeidiSQL の SSH 設定を正しく入力