SSHの鍵を新しくしたら接続できなくなった【PuTTY】

Pocket

状況

発生した状況は以下の通りです。

  • sshの鍵を新しくしたら、接続できなくなった
  • 接続先には公開鍵を設置済み
  • OSはWindows
  • PuTTY(Pageant)で接続している

原因と対策

ローカルに保存されている”接続先の情報”を新しくする必要があります。
known_hostsを変更しましょう。

known_hostsには接続先のIPアドレスと公開鍵が保存されています。
SSH接続の際には接続先から公開鍵が送られてくるので、
それとローカルのknown_hostsを比較する事によって
接続先が信頼できるか(既知であるか)を判定できるという仕組みです。
なお、初回接続時には接続先の情報がローカルに無いため、
「信頼できる相手ですか?」とシステムに問われる事になります。
ここで許可すると、めでたくknown_hostsに接続先情報が追加されます。

しかし!

known_hostsファイルが見当たらない!

対策

どうやらSSH接続にPuTTYを用いている場合、known_hostsにあたる情報は
レジストリに記録されるようです。キーは以下の通り。

HKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys
(情報元:Stack Exchange | Where does Putty store…

直接レジストリを弄るのは避けたい所ですが、消去用のコマンドが用意されています。
PuTTYのインストールディレクトリにて、以下を入力すればOKです。

putty -cleanup
(情報元:電気通信大学 情報基盤センター | Windows で PuTTY を利用した…

反省

Macでターミナルから接続する事が多かった為、SSH接続関連の情報は
.ssh ディレクトリにあるものだと思い込んでいました。
PuTTYではknown_hostsだけでなく.sshディレクトリも作成されないのですね。
焦りました。

バージョン情報等

  • OS:Windows7 Professional SP1(VMWare6.0.1上で動作)
  • PuTTY:Release 0.60-JP_Y-2007-08-06

投稿者紹介

ぐんまのたなか

コメントを残す

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

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