OpenSSH_5.9p1 OpenSSL 1.0.1を使用してサーバーに接続すると、次の形式の.ssh/known_hostsが保存されます。
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
次に、そのknown_hostsファイルをOpenSSH_4.5p1 OpenSSL 0.9.8dを実行している別のPCにコピーすると、known_hostsファイルが正しくないかのように、「認証を確立できません。接続を続行しますか?」というメッセージが表示されます。
その2番目のPCが同じサーバーのknown_hostsを格納すると、次の形式で書き込みます。
[10.2.3.4]:22 ssh-rsa AAAAAAAAAA/BBBBB/CCCCCC//DDDDDD
2つの形式を変換する方法はありますか?
最初の例には、ECDSAキー(ecdsa-sha2-nistp256
)、OpenSSH5.7で導入されました。
OpenSSH 4.5は、RSAおよびDSAキー(ssh-rsa
およびssh-dss
)、known_hostsエントリを無視します。
あなたが持っている最初のキーフォーマットはハッシュフォーマットであり、あなたのアカウントに侵入した誰かがあなたのパスワードやSSHキーを使って接続できるかもしれない他のホストを知るのを防ぐように設計されています。
プレーンテキスト形式をハッシュ形式に変換することは可能ですが、その逆はできません。この目的のために、ネット上にはさまざまなスクリプトがあります。
この問題についてそれほど心配していない場合は、いつでも追加できます
HashKnownHosts no
to ~/.ssh/config
を無効にするにはknown_hosts
ハッシュ。詳細については、 ssh_config(5) を参照してください。