Chrome の Secure Shell の known_hosts の消し方

Chrome の拡張機能に Secure Shell というものがあります。

ブラウザ上で ssh クライアントを実装したもので普段便利に使っているのですが、 ssh 特有の動作でハマったので備忘のためのメモ。

ssh でリモートアクセスするとアクセス先を known_hosts として登録しますが、自宅で仮想マシンを dhcp で複数動かしたりしていると、以前割当てられていた IP が別のマシンに割当てられることがあります。

つまり、結果こうなります。

-----
Welcome to Secure Shell version 0.8.5.
Answers to Frequently Asked Questions: http://goo.gl/m6Nj8
ポート 22 で root@192.168.0.5 に接続しています...
Loading NaCl plugin... done.
上級者向けヒント: このセッションはブラウザのブックマークとして保存できます。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA key sent by the remote host is
f4:e3:40:c2:31:bb:ff:5e:f5:58:c5:c4:3c:c9:42:64.
Please contact your system administrator.
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /.ssh/known_hosts:1
RSA host key for 192.168.0.5 has changed and you have requested strict checking.
Host key verification failed.
NaCl plugin exited with status code 255.
(R)econnect, (C)hoose another connection, or E(x)it?
NaCl plugin exited with status code -1.
(R)econnect, (C)hoose another connection, or E(x)it?
-----


で、 known_hosts を編集して該当するものを削除して再アクセス・・・、とすれば解決するんですが、 Chrome の Secure Shell は known_hosts をファイルとして保存しているわけではないようで、どこを探しても known_hosts が見つからない(泣)

色々調べた結果、 Secure Shell (hterm) のドキュメントの FAQ に回答がありました。
http://git.chromium.org/gitweb/?p=chromiumos/platform/assets.git;a=blob;f=chromeapps/hterm/doc/faq.txt

以下、手順です。

  1. Secure Shell を立ち上げている画面(タブ)で 「Google Chrome の設定」→「ツール」→「JavaScript コンソール」 をクリック

  2. 画面下に JavaScript コンソールが表示されるので
    term_.command.removeAllKnownHosts()
    
    と入力して [enter]


これで known_hosts に登録されているホストが全消しされてアクセスできるようになります。


※追伸※
term_.command.removeKnownHostByIndex(index) (index は数字)というコマンドでホストを1件ずつ消せると FAQ に書いてあるんですが、何番にどのホストが登録されているかを確認する手段がわからない。。。

このブログの人気の投稿

zsh 設定 - プロンプト -

テンションを上げたいときにおすすめの曲(StarrySky YEAH! Remix)

OpenLDAP のログ周りの設定をする