web-dev-qa-db-ja.com

リモートホストIDが変更されました

Macのターミナル(ssh [email protected])を介して、OVH(unbuntu 16)のクラウドサーバーにserverpilotを手動で接続しようとしています。

操作が一度失敗し、再セットアップしようとすると、「警告:リモートホストIDが変更されました!」というエラーメッセージが表示されます。

ブログでssh-keygen -R hostnameと入力すると問題が解決する可能性があると読んだのですが、これを行うと"Host hostname not found in /Users/GregMac/.ssh/known_hosts"というメッセージが表示されます。

これを解決する方法はありますか? (私はサーバー構成とコマンドラインのまったくの初心者です...それが私がserverpilotを頼りにしていた理由です)

ありがとう

1
Greg

短い答え

そのホストで実行されているSSHサーバーに最後に到達しようとしたときに変更されたファイルがあります。そのファイルは

/Users/whateveryourusernameis/.ssh/known_hosts

そのファイルのどこかに、[vpsXXX.ovh.net]のような括弧で囲まれて到達しようとしたホストから始まる1行のみのエントリがあります。

到達しようとしているサーバーが変更して自分でセットアップしたサーバーであることが確実である場合は、その行を削除して再試行しても安全です。

長い答え、電話で

SSHは、システム管理者にとって最も基本的なツールであり、どのように機能するかは注目に値します。

Sshサーバーに接続するとき、サーバーが実行する最初の手順の1つは、sshクライアントに独自の公開ホストキーを提示することです。このキーは通常、クライアントの~/.ssh/known_hostsファイルに追加されるため、異なるsshセッション間でこのキーが変更されると、クライアントは、ホストが以前に接続した元のホストではなくなったことを警告されます。これは、ホストが実際に変更されたことを疑いなくすでに知っている場合を除いて、到達したホストが詐欺師である可能性があるという事実を警告します。

ホストキーは SSHネゴシエーションプロセス のコア部分であり、システムを管理している場合はこれをよく理解しておく必要があります。このキーは通常、SSHサーバーが最初に起動されたときに1回だけ生成されます。したがって、ホストキーが変更されたという警告が表示された場合は、次のいずれかのイベントが発生しています。

  • 新しいサーバー(またはマシンイメージなど)が展開され、以前のサーバーを指していたIPアドレスまたはドメイン名が新しいサーバーを指すように変更されました(これは特にクラウド環境で一般的です)。
  • 誰かがマシンの公開ホストキーを変更または削除しました。通常は理由がないので、なぜだろうとすぐに思います。1つの例外は、キーを頻繁にローテーションする非常に厳格なセキュリティ手順である可能性があります。その場合でも、このエラーを回避するために、新しい公開鍵指紋が配布されることを期待しています。
  • 誰かがそのIPまたはドメイン名に送信されたトラフィックを傍受し、MITM SSH攻撃を仕掛けるという悪意のある試みで自分のサーバーに向けた、またはおそらく自分自身を挿入して収集しようとした別のポートとプロトコル(HTTPSなど)でのトラフィック。

クラウド環境で作業している場合、新しいマシンイメージとインスタンスは常に交換され、古いものと置き換えられます。したがって、警告を削除し、新しいホストへのSSHを継続する方法は、~/.ssh/known_hostsファイルから古いフィンガープリントを含む問題のある行を削除することです。良い習慣として、交換が行われたことがわかったらすぐにこれを削除し、一度ログインして新しいホストキーを確認して保存することをお勧めします。

最後に、仲間の管理者を尊重し、それが起こったことを知らせて、火災警報器を自分で引く必要性を感じないようにします。

ポストスクリプト(または、ssh-keygen -Rの失敗をチェックする)

あなたが行ったのと同様のページ を見つけました。新しい動作についてのメモがあり、公開ホストキーのIDがハッシュ値に変更される可能性があります。 [vpsXXX.ovh.net]ではなく、[BF8JDF9SS@67IX]のように見える場合があります。この場合、編集しすぎていない場合は、known_hostsファイルを移動し、ssh経由で接続すると、1行で新しいファイルが作成されます。 その行には、接続したドメインまたはIPの正しいハッシュ値が含まれるため、新しく作成したファイルから、古いホストキーを新しいものに置き換えます。編集したknown_hostsファイルを元の場所に戻し、voilá—その接続用に保存されている公開ホストキーを更新しました。

3
Ryder