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_config
PasswordAuthentication 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 設定を正しく入力