AWSのLightsailのWordPress(BitNami)へ移行する際の要点まとめ
BitNami(AW…
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である。端的に言うと、該当マシンの設定IPの~/.ssh/known_hostsの行を削除してやれば解決する。解決にあたり、下記の記事を参考にさせてもらった。
SSH接続で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! って言われて接続を拒否られるとき – Qiita
問題の解決のきっかけは、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で調査をするというのが正しい。
今回は、Sequel Proの問題というよりは、SSHの仕組み上の問題ということで、ある程度慣れた頃にたまにハマるのがSSHということで、1つ勉強になった。個人的なSSHについての印象は、すごくつまらないことでハマるということが多いと思う。理解すると、「なーんだ、そうなんだぁ…」で済むような事が多い。例えば、新規ユーザを作って公開鍵認証の設定をするも、公開鍵認証に使う各種ディレクトリやファイルの設定権限はあっていたが、そもそもユーザにパスワードつけ忘れて接続できない!とか、すごく微妙なところでハマることのあるSSHなのである(パスワードつけ忘れは、もはやヒューマンエラーだが、本当にハマったので辛かった。パスワード未設定ということでLinuxのコア部分がそもそも接続を認めないということかもしれないが、この際sshコマンドでコケてるしSSHのせいで良い笑)。SSHには、いつ何があるか分からない。SSHの世界は広大だわ…。
プログラムを書きながらTranceを聴くのが良いですね。みなさんも聴いたほうがいいですよ、Trance。EDMよりハードトランスでしょ。
Discussion about this post