SSH は、システム間に暗号化されたトンネルを作成する安全なネットワーク プロトコルです。グラフィカル ユーザー インターフェイスを必要とせずにコンピューターにリモート アクセスする必要がある開発者の間で依然として人気があります。 SSH は何十年も前から存在し、数え切れないほどのユーザーに確実にサービスを提供してきましたが、依然として特定のエラーの影響を受ける可能性があります。
これらのエラーの多くは SSH コミュニティでよく知られており、その回避策は広く文書化されています。これらには以下が含まれます ファイアウォールの非互換性, SSH公開キーインジェクションの問題, SSH ファイルキーモードの問題、および「警告: リモート ホスト ID が変更されました」エラーが表示されます。
このエラーは、Windows、Linux、macOS など、すべての主要なオペレーティング システムで発生します。問題の原因は、単純な技術的な不具合ではなく、正当なセキュリティ上の懸念である可能性があります。この記事では、これが発生する理由、SSH 接続のセキュリティにとっての意味、および各主要プラットフォームでの解決方法について説明します。
警告のトリガー: リモート ホストの ID が変更されました (心配する必要がありますか?)
SSH 公開キーがコンピュータに保存されている場合、「警告: リモート ホスト ID が変更されました」が表示されます。 既知のホスト ファイルはサーバーが現在提示しているキーと一致しません。この不一致により、SSH の組み込みセキュリティ メカニズムがトリガーされ、潜在的な脅威から保護されます。
ホストキー変更の正当な理由
サーバーのホストキーが変更される理由はいくつか考えられます。使用されている特定のキーの種類に応じて、「RSA ホスト キーが変更されました」などのバリエーションが表示されることがあります。

サーバー関連の変更:
- サーバーのオペレーティング システムが再インストールまたはアップグレードされた
- サーバーが再構築またはバックアップから復元された
- サーバーのSSH構成がリセットされました
- 物理マシンまたは仮想マシンが置き換えられた
- 新しいハードウェアへのサーバーの移行
ネットワーク構成の変更:
- クラウド プロバイダーは、IP アドレスを時間の経過とともにリサイクルするか、ロード バランサーを介して接続ルートをリサイクルします。
- DHCP が IP アドレスを別のマシンに再割り当てしました
- 廃止されたサーバーの IP が新しいシステムに割り当てられました
- DNS レコードが別のサーバーを指すように更新されました

主要な管理アクション:
- システム管理者はセキュリティ目的でホストキーを手動で再生成しました
- SSHサーバーソフトウェアが再インストールされました
- セキュリティ ポリシーにはキーのローテーションが必要です
ユーザーパスワードの変更はホストキーに影響を与えないことを認識することが重要です。これらは個別の認証メカニズムを表します。ホストキーは、サーバー自体またはその SSH 構成が変更された場合にのみ変更されます。
警告を真剣に受け止めるべきとき
ホスト キーの変更の多くは正当なものですが、これは本物のセキュリティ上の脅威を示している可能性があります。次の場合は心配する必要があります。
- サーバーに変更を加えていないか、定期的なメンテナンスのことを知らなかった場合
- サーバー管理者にキー変更の理由を確認できない
- サーバーがパブリック ネットワークまたは信頼できない接続経由でアクセスされている
- 機密データを含む運用システムまたはサーバーに接続している

中間者攻撃は比較的まれですが、実際に発生します。このような攻撃では、敵はユーザーのコンピュータと正規のサーバーの間に位置し、すべてのトラフィックを傍受します。
人的エラー ソーシャル エンジニアリングはセキュリティ侵害の 68% を占めており、警戒が重要となります。以下について学ぶことで、システムをさらに保護できます。 ブルートフォース攻撃の防止。
IBM の最近の統計によると、システムの世界平均コストは データ侵害 2025 年の被害額は 444 万ドルで、検出時間は平均 8 か月でした。これは、SSH のホスト キー検証メカニズムが存在する理由と、調査せずにこれらの警告を無視してはいけない理由を示しています。
警告が安全かどうかを確認する方法
問題の解決に進む前に、次の確認手順を実行してください。

- チームに確認してください: サーバーアクセスを共有している場合は、同僚に変更を加えたかどうか尋ねてください
- サーバー ログを確認します。 最近のアクティビティのメンテナンス記録または変更ログを確認します
- ホスティングプロバイダーに連絡してください。 クラウドサービスを利用している場合はメンテナンスが発生していないか確認してください
- 安全なチャネルを使用します。 可能であれば、既知の安全なネットワーク経由で接続して指紋を確認します
- フィンガープリントを比較します。 一部のホスティング プロバイダーは、コントロール パネルに現在の SSH フィンガープリントを表示します。
キーの変更が正当であることが確認できた場合は、古いキーを削除して新しいキーを受け入れることに安全に進むことができます。
動的な IP の再割り当てやホスト キーの競合を回避したい場合は、選択するインフラストラクチャが大きな役割を果たします。
Cloudzy が提供する SSH VPS ホスティング 専用の静的 IP を使用します。 NVMe ストレージを備えた AMD Ryzen 9 プロセッサーで実行すると、コマンドを即時に実行できます。当社のネットワークは、世界 12 か所で 40 Gbps に達します。さらに、接続を安全に保つための無料の DDoS 保護機能が含まれています。
「リモートホストの識別が変更されました」エラーを修正する方法
修正方法は簡単です。システムから古いキー レコードを削除します。これにより不一致が解消され、次回接続時に新しいキーを保存できるようになります。のガイドをご覧ください SSHクライアント その他のツールについては。
さらに、これは 1 つのコマンドで行うことも、ファイルを手動で編集することによっても行うことができます。
方法 1: コマンドライン (最速)
この方法は、macOS、Linux、および Windows 10 以降 (OpenSSH を使用) で機能します。これがエラーを解決する最も簡単な方法です。詳細については、以下を参照してください。 ssh-keygen のマニュアルページ.
- 端末を開きます。
- このコマンドを実行します (置換 ホスト名 サーバーの IP またはドメインで):
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it. Method 2: Manual File Editing (macOS)
ビジュアル エディターを使用したい場合は、自分でキーを削除できます。通常、エラー メッセージには、削除する行番号が正確に示されます。
ターミナルを開いてファイルを編集します ナノ:
nano ~/.ssh/known_hosts
エラー メッセージから行を見つけます。削除してから を押してください Ctrl + X そして Y 保存するために。

Windows向けソリューション
Windows ユーザーは通常、組み込みの OpenSSH クライアントまたは PuTTY を使用します。
オプション 1: Windows OpenSSH (Windows 10/11)
Windows 10 および 11 では、OpenSSH はオプションの機能です。 [設定] > [アプリ] > [オプション機能] から追加します。 Server 2025 にはクライアントが含まれていますが、それをオンにする必要があります。
PowerShell またはコマンド プロンプトを使用する場合、 ssh-keygen 方法 1 のコマンドはここでも機能します。
代わりにファイルを手動で編集するには:
- プレス Windowsキー+R.
- タイプ %USERPROFILE%\.ssh そして押します 入力.
- を開きます。 既知のホスト メモ帳でファイルを作成します。
- エラーの原因となっている行を削除し、ファイルを保存します。
キーを適切に管理するには、に関するガイドを参照してください。 Windows での SSH キーの生成.
オプション 2: PuTTY を使用する
PuTTY は、ファイルではなく Windows レジストリにキーを保存します。
- レジストリ エディタを開きます ([レジストリ エディタ] を押します)。 Windowsキー+R、 タイプ 登録編集、そしてヒット 入力).
- 次の場所に移動します: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
- サーバーのホスト名または IP に一致するエントリを見つけます。
- 右クリックして選択します 消去.

Linux向けのソリューション
の ssh-keygen で説明したコマンド 方法 1 Linux でこれを修正する標準的な方法です。高速でネイティブにサポートされています。
手動編集
ファイルの内容を確認したい場合は、Nano などのテキスト エディタを使用して編集できます。
- 端末を開きます。
- タイプ nano ~/.ssh/known_hosts そして押します 入力.
- エラー メッセージに記載されている行番号を見つけます。
- 行を削除して、 を押します。 Ctrl + X そして Y 保存するために。
も使用できます ヴィム (vim ~/.ssh/known_hosts) 詳しい方は。

チェックの無効化に関する警告
検証せずに SSH を強制的に接続することもできますが、これには危険が伴います。中間者攻撃に対する保護をバイパスします。
このアプローチは、信頼されたネットワークでのローカル テストにのみ使用してください。 macOS と Linux の場合は、次のように入力します。
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]
Windows を使用している場合、Unix パスは失敗します。必ず使用してください NUL バイパスを機能させるには:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]
これらのオーバーライドをパブリック接続またはライブサーバー上で実行しないでください。
キーの不一致を修正するのは定期的なメンテナンスですが、接続を保護するためにさらにできることがあります。ボットはデフォルトのポート 22 をブルート フォース攻撃の標的にすることがよくあります。このバックグラウンド ノイズのほとんどは、次の方法で回避できます。 Linux での SSH ポートの変更 予測不可能なものに。

運用サーバーや信頼できないネットワーク上では、この方法を決して使用しないでください。
次回「リモート ホスト ID が変更されました」メッセージが表示されないようにする方法
正当なホスト キーの変更を常に防ぐことはできませんが、中断を最小限に抑え、より優れたセキュリティ プラクティスを維持することはできます。
クイックリファレンスガイド
| あなたの役割 | 主要戦略 |
| システム管理者 | キーをバックアップし、変更を文書化し、証明書を使用し、キーを定期的にローテーションします。 |
| 一般ユーザー | 在庫を維持し、安全なチャネルを通じて検証し、ログを監視します |
| クラウド環境
ユーザー |
DNS 名を使用し、プロバイダー ツールを活用し、インフラストラクチャをコードとして実装します。 |

システム管理者向け
ホストキーをバックアップする: キーを保存する場所 /etc/ssh/ OSを再インストールする前に。ユーザーへの警告を防ぐために、後でそれらを復元してください。
計画された変更を文書化します: キーを変更する前にユーザーに警告し、新しい指紋を安全に共有します。これにより、接続を確認できるようになります。
SSH 証明書を使用します。 大規模なチームは中央の認証局を使用する必要があります。これによりホスト キーに署名が行われ、手動による検証が不要になります。
キーローテーションを実装します。 ホストキーの変更をスケジュールします。チームにとっては、予想外の更新よりも、予測可能な更新の方が扱いやすいです。
一般ユーザー向け
在庫を管理する: サーバーのフィンガープリントの個人的な記録を保管するか、チームの安全な文書を使用してください。
アウトオブバンド経由で検証します。 カジュアルなメッセージではなく、クラウド コンソールなどの信頼できるソースに対してキーを確認します。
ログの監視: ローカルの SSH ログを定期的にチェックして、奇妙な接続パターンや繰り返されるエラーがないか確認してください。
構成管理を使用します。 SSH 構成ファイルを使用して、セキュリティ設定を下げることなく動的な開発環境を処理します。
動的なクラウド環境向け
DNS 名を使用します。 IP ではなくホスト名を使用して接続します。これにより、基になるアドレスが変更された場合でも一貫性が維持されます。
クラウド ツールを活用する: プロバイダー コンソールを使用して、現在のフィンガープリントを取得します。変更を受け入れる前に、これらのツールに対してキーを検証してください。
コードとしてのインフラストラクチャ: Terraform などのツールを使用してキーの検証を自動化します。高度なセットアップの場合は、次のこともできます。 SSH SOCKS5 プロキシを使用する.
要塞ホスト: 安定したキーを使用してジャンプ サーバーをセットアップします。これらは、動的インフラストラクチャへの安全なエントリ ポイントとして機能します。
結論
「警告: リモート ホスト ID が変更されました」は、SSH の重要なセキュリティ機能として機能し、無視できる欠陥ではありません。この警告は、サーバーのメンテナンスや構成の変更などの正当な理由で表示されることがよくありますが、中間者攻撃や不正アクセスからユーザーを保護する上で重要な役割を果たします。
この警告が表示された場合は、続行する前に原因を確認してください。ほとんどの場合、解決策は簡単です。オペレーティング システムで説明されている方法を使用して古いホスト キーを削除し、次回の接続で新しいキーを受け入れます。
SSH ホスト キーがどのように機能するかを学び、ベスト プラクティスに従うことで、リモート アクセス ワークフローのセキュリティと利便性の両方を維持できます。ファイルを安全に転送する方法の詳細については、次を参照してください。 SSH経由でファイルをコピーする.