SSHのホスト鍵が変わった:known_hostsを消す前に接続先を照合する
ホスト鍵変更の警告が出たら、再接続より先に正しいサーバーかを別経路で照合します。再構築で鍵が変わる場合もありますが、警告を消しただけでは正しい相手と確認できません。
公式資料確認日:。
ログイン用の鍵と、サーバーの識別鍵は別
この警告はサーバー側の識別情報と保存済みの情報の違いです。自分の秘密鍵を作り直す問題とは区別します。ホスト名、IP、port、再構築の記録を読むだけなら、警告先へ認証情報を送る必要はありません。
信頼できる管理経路で、新しい指紋を読む
既に信頼している管理コンソールや担当者から対象サーバーの公開鍵の指紋を確認します。警告が出た接続で表示された値だけを、その値の正しさの証拠にしません。
| 観測するもの | 分かること | 次の行動 |
|---|---|---|
| host・IP・port | 本来の接続先 | 別サーバーや再割当てを照合 |
| 再構築の記録 | 変更が予定されていたか | 担当と時刻を照合 |
| 別経路の指紋 | 新しい識別情報の根拠 | 警告に出た指紋と比較 |
| 変更が説明できない | 相手が未確認 | 接続を止め担当へ渡す |
既知の登録は-Fで読める。-Rは検証ではない
ssh-keygen -Fはknown_hostsの対象を探す読取りです。非標準portなら[host]:portの形式も対象になります。-Rはその対象の登録鍵を削除する操作で、新しい鍵を検証してくれる機能ではありません。
確認前のStrictHostKeyChecking無効化を選ばない
既知ホスト全体を消す、一律に検証を無効にする、見えた鍵をそのまま登録する方法を復旧の第一手にしません。変更が正当と照合できた後に、必要な対象だけを正式な運用手順で更新します。
移行後の接続と、仕事の完了を別に確認する
VPS再構築で鍵が変わる想定では、接続先を受け入れた後に仕事の設定と成果を照合します。SSHへ入れたことだけで移行や復元を完了にしません。鍵変更の理由が不明なら、再送や購入へ進む必要はありません。
公式資料と、判断例の境界
仕様の根拠は以下の公式資料です。本文の記入例は実測値ではありません。購入・設定変更時は、対象の型番・版・契約条件を照合します。
- OpenBSD:SSHのホスト識別と指紋照合
ホスト鍵変更の警告はなりすまし対策。接続とは別の信頼できる経路で指紋を照合します。
- OpenBSD:ssh-keygenの-Fと-R
-Fは既知ホストを検索し、-Rは対象の登録鍵を削除します。削除は新しい鍵を検証する機能ではありません。