【ssh出来ない?】【Sequel Aceとknown_hostsの話】

はじめに

自分はDBクライアントにSequel Aceを使っています。無料で使いやすいのでおすすめです。

いつもどおりSequel AceでリモートホストのDBに接続しようとしたら下記の様なエラーが吐かれて接続出来なくなりました。

〜 中略 〜
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
〜 中略 〜

踏み台ホスト経由でRDSに接続していたのですが、どうやら踏み台ホストに接続出来なくなっていました。

ssh接続をすると接続したホストの情報をknown_hostsというファイルに自動で記述します。ところが接続先のホストが再起動か何かで設定が変わったため、ローカルにあるknown_hostsファイルと差異が生じてエラーが発生しました。

これはなりすましからPCを防ぐためなど、セキュリティが機能してのことなのである意味では正常ではあります。
しかし今回は同僚が勝手に踏み台ホストを再起動したということは確認が取れているので、その場合の直し方をまとめたいと思います。

known_hostsの修正

対応方法は簡単です。
~/.ssh/known_hostsの接続先のIPの部分のみを消して保存します。あるいはファイルを削除してしまっても構いません。

その後にもう一度接続を試みると今度は上手くいくはずです。初回の接続時には確認ウィンドウやプロンプトが聞かれると思いますが、いずれもはいと答えれば問題ありません。

Sequel Aceのknown_hostsの修正

これは自分も知らなかったのですが、Sequel Aceとローカルのターミナル(iTermなど)が見ているknown_hostsは違うみたいです。そのためSequel Aceが見ているknown_hostsも修正する必要があります。

下記のコマンドを実行して下さい。

cp ~/.ssh/known_hosts ~/Library/Containers/com.sequel-ace.sequel-ace/Data/.keys/ssh_known_hosts_strict

以上です。

コメントを残す

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

CAPTCHA