web-dev-qa-db-ja.com

ホストキーが変更されたことがわかっている場合、known_hostsの情報を更新する簡単な方法はありますか?

ホストのオペレーティングシステムが再インストールされ、その公開鍵が再生成された場合、新しい鍵は古い鍵と一致しないため、ホストへのsshはもちろん失敗します。

Sshにホストのキーが変更されたのでそれを更新したいことを知らせる簡単な方法はありますか?問題の行を削除するためにテキストエディタまたはsedなどを使用するのは少しエラーが発生しやすいと思います。

40
Sam

使用する ssh-keygen -R hostnameを使用して、known_hostsファイルからホスト名を削除します。次回接続するときに、新しいホストキーがknown_hostsファイルに追加されます。

61
jsbillings
TARGET_Host=[hostname or IP]

# Remove the old key(s) from known_hosts
ssh-keygen -R $TARGET_Host

# Add the new key(s) to known_hosts (and also hash the hostname/address)
ssh-keyscan -H $TARGET_Host >> ~/.ssh/known_hosts

キーは既にknown_hostsファイルにあるため、次回接続するときは、 /を要求せずにAre you sure you want to continue connecting (yes/no)?に接続します。

14
Earl Ruby