MeWrite Docs

Host key verification failed

SSH接続時にホストキーの検証に失敗した場合のエラー

概要

Host key verification failed は、SSH接続時にサーバーのホストキーが以前接続した時と異なる場合や、known_hostsファイルの情報と一致しない場合に発生するエラーです。

エラーメッセージ

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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.
Host key verification failed.
The authenticity of host 'example.com (192.168.1.1)' can't be established.

原因

1. サーバーが再構築された

サーバーのOSを再インストールしたり、新しいインスタンスに置き換えた場合、ホストキーが変わります。

2. 同じIPに別のサーバー

クラウド環境でIPアドレスが再利用され、別のサーバーに割り当てられた場合。

3. 中間者攻撃(Man-in-the-Middle)

悪意のある第三者が通信を傍受している可能性(稀)。

4. ロードバランサー経由

複数サーバーの前にロードバランサーがあり、異なるホストキーを持つサーバーに接続される場合。

解決策

1. 古いホストキーを削除

1
2
3
4
5
6
7
8
# 特定のホストのキーを削除
ssh-keygen -R example.com

# IPアドレスでも削除
ssh-keygen -R 192.168.1.1

# 行番号を指定して削除
ssh-keygen -R example.com -f ~/.ssh/known_hosts

2. known_hostsを手動で編集

1
2
3
4
5
# known_hostsファイルを開く
nano ~/.ssh/known_hosts

# 該当する行を削除
# example.com ssh-rsa AAAA... ← この行を削除

3. 初回接続時の確認

1
2
3
4
5
# フィンガープリントを確認して接続
ssh -o FingerprintHash=sha256 user@example.com

# サーバー側でフィンガープリントを確認
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

4. ホストキーチェックを無効化(非推奨)

1
2
3
4
5
# 一時的に無効化(セキュリティリスクあり)
ssh -o StrictHostKeyChecking=no user@example.com

# known_hostsに追加しない
ssh -o UserKnownHostsFile=/dev/null user@example.com

5. SSH設定ファイルで特定ホストを除外

# ~/.ssh/config
Host development-*
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

Host *
    StrictHostKeyChecking ask

6. HashKnownHostsの確認

1
2
3
4
5
# ハッシュ化されたknown_hosts
ssh-keygen -H -f ~/.ssh/known_hosts

# 特定ホストを検索
ssh-keygen -F example.com

セキュリティ上の注意

1
2
3
4
5
6
7
8
9
# 本番環境では必ず確認する
# 1. サーバー管理者にホストキーが変更されたか確認
# 2. サーバー側でフィンガープリントを確認
# 3. 一致する場合のみ接続を許可

# サーバー側でホストキー一覧
for key in /etc/ssh/ssh_host_*_key.pub; do
    ssh-keygen -lf "$key"
done

関連エラー

関連エラー

SSH の他のエラー

最終更新: 2025-12-17