普段思ったことや、雑記。

Menu & Search

Vagrant(Virtualbox)のデータベースへ、設定が正しくてもSequel proで接続できない場合の対処

2016年6月12日

ある時からふと、Sequel ProでVagrant内にあるデータベースへ接続ができなくなる

Sequel ProとはMac向けの無料で使えるGUIのDBクライアントだ。ある時からSequel Proに接続ができなくなり、設定情報を何度も確認した。例えば、Vagrant内のDBについて、IPアドレスを192.168.33.10、対象となるDBのポート番号を3306(MySQL標準ポート)とした場合には、接続するSequel Proの正しい設定は下記のようになる。

名前: 192.168.33.10
MySQLホスト: 192.168.33.10
ユーザ名: root
ポート: 3306
SSHホスト: 192.168.33.10
SSHユーザ: vagrant
SSHパスワード: vagrant
SSHポート: 22

DBの設定により、ユーザ名やパスワード、許可DBの設定などはもちろん必要だ。ポートとSSHポートは、標準から変更がない場合は特に入力する必要はない。SSHパスワードは、これはVagrantのvagrantユーザのものなので、通常はvagrantと入力する。

しかしながら、このように正しい情報を入力したとしても遭遇したトラブルの場合は接続ができない。

 

原因はknown_hostsであり、SSH接続による問題。Vagrantで仮想マシンを構築しては壊す人は陥りやすい

見出しのそのままで、正しい接続設定でも接続ができない場合の原因はknown_hostsである。端的に言うと、該当マシンの設定IPの~/.ssh/known_hostsの行を削除してやれば解決する。解決にあたり、下記の記事を参考にさせてもらった。

SSH接続で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! って言われて接続を拒否られるとき – Qiita

http://qiita.com/wnoguchi/items/690f3f4651f8f11e4ed3

問題の解決のきっかけは、Sequel Proのエラーメッセージでは原因が掴みにくいと感じたため、直接設定情報をもとにマシンにsshをしてみたことだった。実際にsshを実行してみた結果がこれである。

[~]$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:EhaveX2VVGFJt597FXZv2kVLLSNUqpw9uAq4SeZCNrw.
Please contact your system administrator.
Add correct host key in /Users/masaki/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/masaki/.ssh/known_hosts:1
ECDSA host key for 192.168.33.10 has changed and you have requested strict checking.
Host key verification failed.

このように、「リモートホストのフィンガープリントの情報が変わってしまった」と警告が出て接続ができないことが確認できた。ということで、エディタで~/.ssh/known_hostsの該当マシンのIP、192.168.33.10を消して接続をし直すことで、フィンガープリントが登録しなおされ、Sequel Proでもsshコマンドでも接続できるようになった。

vagrant sshは便利だけど、やはり通常のsshとは振る舞いが異なる。あれ?おかしいな、sshできるのに、と、vagrant sshでマシンにいつも接続している人には、わりと盲点かもしれない。vagrant sshとsshは異なるものであり、SSHで問題が出ていそうなら、やはりsshで調査をするというのが正しい。

 

慣れた頃にでもハマる。それがSSH

今回は、Sequel Proの問題というよりは、SSHの仕組み上の問題ということで、ある程度慣れた頃にたまにハマるのがSSHということで、1つ勉強になった。個人的なSSHについての印象は、すごくつまらないことでハマるということが多いと思う。理解すると、「なーんだ、そうなんだぁ…」で済むような事が多い。例えば、新規ユーザを作って公開鍵認証の設定をするも、公開鍵認証に使う各種ディレクトリやファイルの設定権限はあっていたが、そもそもユーザにパスワードつけ忘れて接続できない!とか、すごく微妙なところでハマることのあるSSHなのである(パスワードつけ忘れは、もはやヒューマンエラーだが、本当にハマったので辛かった。パスワード未設定ということでLinuxのコア部分がそもそも接続を認めないということかもしれないが、この際sshコマンドでコケてるしSSHのせいで良い笑)。SSHには、いつ何があるか分からない。SSHの世界は広大だわ…。

Article Tags
mmiyauchi

プログラムを書きながらTranceを聴くのが良いですね。みなさんも聴いたほうがいいですよ、Trance。EDMよりハードトランスでしょ。

Related article

AWSのLightsailのWordPress(BitNami)へ移行する際の要点まとめ

BitNami(AW…

クロスプラットフォームでプロセスを殺せるツールのfkill-cliが便利すぎる

クロスプラットフォームでプロセスを殺せるツールのfkill-cliが便利すぎる

MacでOffice…

ドメイン更新料金が安くて、仮想通貨がもらえるレジストラ「Uniregistry」が良い

ドメイン更新料金が安くて、仮想通貨がもらえるレジストラ「Uniregistry」が良い

Whois情報のプラ…

Discussion about this post

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Type your search keyword, and press enter to search