sshサーバーの使用中に発生する一般的なエラーの1つは、 ホストキーの検証に失敗しました 。このエラーが発生する理由を理解するために、まずsshが接続を確立する方法を理解しましょう。
リモートサーバーに接続しようとすると、サーバーは、適切なサーバーへの接続を確立しようとしているかどうかを確認するように求めます。
入力した場合 はい 、クライアントは公開ホストキーをに追加します .ssh / unknown_hosts ファイル。リモートサーバーのキーが追加されると、次に同じサーバーに接続しようとしたときに、クライアントはキーをに保存されているキーと比較します。 既知のホスト ファイル。
キーがに存在する場合、警告は表示されません。 既知のホスト ファイル。サーバーはすぐに接続されます。
ホストキーの検証に失敗した理由エラーが発生する
ホストキー検証失敗エラーの主な原因は、リモートホストキーが変更され、に保存されているものと同じではなくなったことです。 既知のホスト ファイル。通常、サーバーが再構築されるとキーが変更され、次のようなエラーが発生します。
修正する方法 ホストキーの検証に失敗しました エラー
このエラーを修正するには、問題のあるキーをから削除する必要があります 既知のホスト 私たちのシステムに存在するファイル .ssh ディレクトリ。このエラーにより、リモートサーバーのIPアドレスと、キーが保存されている行番号がわかります。 既知のホスト ファイル。
上記のエラーでは、 /home/user/.ssh/known_hosts:7 、 NS : 7 問題のある行番号です。このエラーを修正するための複数のアプローチを以下に示します。
方法1:
このエラーを修正する最初の方法は、 sed 指図。 NS sed コマンドは、テキストファイルを変更して、ファイルから何かを検索、追加、または削除するために使用されます。問題のあるホストを削除するために使用しています。
$sed -私 「7d」〜.ssh/既知のホストどこ 7 上記のエラーに表示されている行番号です。行番号が異なる場合があります。正しい行番号を使用していることを確認してください。コマンドは、問題のある行をから削除します 既知のホスト ファイルを作成して問題を解決します。
方法2:
2番目のアプローチは 既知のホスト 任意のエディターのファイル:
$ナノ.ssh/既知のホストそして、問題のある行を手動で削除し、ファイルを保存します。
方法3:
3番目の方法は、を使用してサーバーを削除することです。 ssh-keygen 指図。以下に説明する構文に従います。
$ssh-keygen -NS [IPアドレス]たとえば、のホストキーを削除するには 192.168.10.116 、 使用する:
$ssh-keygen -NS192.168.10.116結論
ホストキー検証エラーは、リモートサーバーのキーが変更され、クライアントが保存されているキーからそれを検証しない場合に発生します。サーバーキーはに保存されます 既知のホスト クライアント側でファイルを作成し、接続を確立すると、クライアントはキーを、に保存されているキーと比較して検証します。 既知のホスト ファイルを作成し、失敗すると、 ホストキーの検証に失敗しました エラー。
これを修正するには、問題のあるホストをから削除します 既知のホスト ファイル。このガイドでは、問題のあるホストを削除するための3つの異なる方法について説明しました。このエラーを解決するには、任意の方法を使用できます。