質問: エンジニア初心者です。 わかりやすい質問が出来ないかもしれませんが、宜しくお願い致します。 今回、Vagrant+virtualboxで環境構築をして、自分のウェブサイトを作成している最中で、 vagrantfileを修正しないといけなくなり、修正しました。 (vagrant reload,apache接続は[ok]でした。) Sequel proでDBの管理をしていたのですが、 SSHでVagrant上のmysql?DB?を観覧できなくなり、 ”SSH トンネルが予期せず切断されました。” とでてしまいます。 ググったり、接続情報を確認したのですが、上記同様のエラーが出てしまいます。 情報が少なすぎるかもしれませんが、vagrantfileやapacheを設定を変えたり、 ローカルのドメイン名を変更した際に、何かDB関係の接続情報に変更(権限など)がかかるのでしょうか? 私の知識不足ではありますが、 すいませんがどなたかご教示宜しくお願い致します。 mac: OSX Yosemite Vagrant version:1.8.1 virtualbox version:5.0.16 Sequel pro version:1.1.2
回答: 追加での情報ありがとうございます。 > > ローカルのドメイン名を変更した > > > とありますが、Vagrantの設定でconfig.vm.hostnameを変更してホスト名(ドメイン名)を変えたということでよろしいでしょうか。 Vagrant / Sequel Proの組み合わせに限らず、今までsshでサーバに接続できていたのに突然接続できなくなる場合は、サーバ側でホスト名を変更したりして、サーバ側の公開鍵の情報が変わってしまったことが原因の1つにあったりします。 **known_hostsからvagrantのゲストOSに当たるIP(もしくはホスト名)を削除する** お手元のMacの ~/.ssh/known_hosts というファイルに、192.168.56.12 で始まる列があれば、一旦そちらを削除してみるといいかもしれません。 (もしくは、 $ ssh-keygen -R というコマンドを利用して削除) その上でSequel Proから接続ボタンを押すと、一度英語のメッセージが出てくると思います。 こちらで「はい」を選択すると接続できるようになるかと思います。 ``` The authenticity of host '192.168.56.12 (192.168.56.12)' can't be established. ECDSA key fingerprint is SHA256:........ Are you sure you want to continue connecting (yes/no)? ``` **うまくいかなかった場合:** Sequel Proのメッセージだけだと解りにくいかもしれませんが、”SSH トンネルが予期せず切断されました。”というメッセージが出た際、「詳細を表示する」と言ったボタンが出てきていませんでしょうか。 こちらをクリックすると、どういうコマンドを実行してVagrantにsshで接続してMySQLのポートをMac側のポートに転送しようとしているか、というのが表示されます。 ``` Used command: /usr/bin/ssh -v -N -S none -o ControlMaster=no -o ExitOnForwardFailure=yes -o ConnectTimeout=10 ... 途中略 ... vagrant@192.168.56.12 -L 52928:127.0.0.1:3306 ``` この辺りを実際にターミナルで試してみて、原因を探るといいのかなと思います。