VagrantのDBにSequel Proで突然接続出来なった時の対処法[設定は正しい]

プログラミング

今まで問題なくSequel ProでVagrantのDBを参照出来ていたのに突然参照出来なくなりました。
幸いにもSequel Proはエラーの原因を表示してくれるので(以前使ってたTable Plusは確認出来なかった気が。。)確認してみます。

Used command:  /usr/bin/ssh -v -N -S none -o ControlMaster=no -o ExitOnForwardFailure=yes -o ConnectTimeout=10 -o NumberOfPasswordPrompts=3 -i /Users/3akurur/work/vagrant/project_name/.vagrant/machines/default/virtualbox/private_key -o TCPKeepAlive=no -o ServerAliveInterval=60 -o ServerAliveCountMax=1 -p 2222 vagrant@127.0.0.1 -L 53847:127.0.0.1:3306 -L 53848:127.0.0.1:3306

OpenSSH_8.1p1, LibreSSL 2.7.
debug1: Reading configuration data /Users/3akurur/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug1: Control socket " none" does not exist
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 2222.
debug1: connect to address 127.0.0.1 port 2222: Connection refused
ssh: connect to host 127.0.0.1 port 2222: Connection refused

接続の設定はいじってないのでssh周りでエラーが起きている感じは何となく感じていましたが、全く知識がなく分からなかったので偉大な先輩に聞いてみると、フィンガープリントというのが原因の元らしいです。

フィンガープリントとは

フィンガープリントとは、接続先毎に初めてSSHした時に発行される公開鍵のハッシュ値です。
フィンガープリントの値を元に、IPアドレスが同じだけど全く別のサーバになったりしていると警告を出してくれます。
vagrantやクラウドで、サーバを作ったり消したりしていると同じIPアドレスでサーバが用意される事があるのでこの警告が表示される事があります。

対策方法

対策としては、以下の通りです。

  1. ターミナルで ~/.ssh/known_hostsの「127.0.0.1」の部分を削除する。
  2. vagrant sshし直してフィンガープリントが再登録される様にする。

再接続した後に、Sequel Proで接続を試みると以下のように聞かれるので「yes」と回答すると接続が出来ます。