GNU/Linux >> Linux の 問題 >  >> Linux

「ホストキーの検証に失敗しました」というエラーを修正する方法

ssh を使用して初めてサーバーに接続したときのバックグラウンドでの動作

初めてサーバーに接続するとき、サーバーは、正しいシステムに接続されていることを確認するように求めます。次の例では、ssh コマンドを使用して、host03 という名前のリモート ホストに接続しています:

# ssh host03
The authenticity of host 'host03 (192.0.2.103)' can’t be
established. ECDSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host03,192.0.2.103' (ECDSA) to the list of known hosts.

ホスト検証は、OpenSSH の主要な機能の 1 つです。このコマンドは、接続先と思われるホストに接続していることを確認します。 yes と入力すると、クライアントはサーバーの公開ホスト キーをユーザーの ~/.ssh/known_hosts ファイルに追加し、必要に応じて ~/.ssh ディレクトリを作成します。次にリモート サーバーに接続するときに、クライアントはこのキーをサーバーが提供するキーと比較します。キーが一致する場合、接続を続行するかどうかは尋ねられません。

ホスト キーの検証に失敗したエラーの原因

誰かがあなたをだまして自分のマシンにログインさせようとして、あなたの SSH セッションを傍受できるようにしようとすると、次のような警告が表示されます:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:cf:50:31:7a:78:93:13:dd:99:67:c2:a2:19:22:13.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/lcz/.ssh/known_hosts:7
RSA host key for 192.168.219.149 has changed and you have requested strict checking.
Host key verification failed.

このような警告が表示された場合は、停止して、リモート サーバーのホスト キーを変更する理由があるかどうかを判断します (SSH がアップグレードされたか、サーバー自体がアップグレードされたかなど)。ホスト キーを変更する正当な理由がない場合は、状況が解決されるまで、そのマシンに接続しようとしないでください。

「ホスト キーの検証に失敗しました」エラーを修正する方法

方法 1 – 古いキーを手動で削除する

1. ソース サーバーでは、古いキーはファイル ~/.ssh/known_hosts に保存されます。 .

2. このイベントが正当であり、SSH サーバーが別のキーを提示する理由が正確にわかっている場合にのみ、known_hosts ファイルを編集して、有効でなくなったキー エントリを削除します。クライアント/ソース サーバーの各ユーザーは、ホーム ディレクトリに独自の known_hosts を持っています。宛先サーバーの特定のユーザーのファイル内のエントリを削除するだけです。例:
– root がサーバーに ssh したい場合は、/root/.ssh/known_hosts のエントリを削除するだけです
– testuser がサーバーに ssh したい場合は、ファイル /home/testuser/.ssh/known_hosts のエントリを削除します .

3. 私の場合、宛先サーバー 192.168.219.149 のキー (赤で強調表示) をファイル /home/user01/.ssh/known_hosts から削除します。

# vim /home/user01/.ssh/known_hosts
172.104.9.113 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLrY91bQOihgFZQ2Ay9KiBG0rg51/YxJAK7dvAIopRaWzFEEis3fQJiYZNLzLgQtlz6pIe2tj9m/Za33W6WirN8=
192.168.219.148 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=
192.168.219.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=

方法 2 – ssh-keygen コマンドを使用して古いキーを削除する

ssh-keygen コマンドを使用して古いキーを削除することもできます。コマンドを使用するための構文は次のとおりです。

$ ssh-keygen -R [hostname|IP address]

たとえば、この場合、IP アドレスを使用して古いキーを削除します。

$ ssh-keygen -R 192.168.219.149
# Host 192.168.219.149 found: line 3
/home/user01/.ssh/known_hosts updated.
Original contents retained as /home/user01/.ssh/known_hosts.old
注意 :SSH サーバーが別のキーを提示する理由が正確にわからない場合は、known_hosts ファイルが正しくないか、誰かがこのサーバーとネットワーク接続を調査して、予期しない変更の理由を理解する必要があります。

確認

リモート サーバーが ~/.ssh/known_host ファイルに新しいキーを追加する確認を求めた場合、古いキーが正常に削除されたことを確認します。リクエストを確認すると、ソース マシンは新しいキーを ~/.ssh/known_host ファイルに追加します。

$ ssh [email protected]
The authenticity of host '192.168.219.149 (192.168.219.149)' can't be established.
ECDSA key fingerprint is SHA256:V+iGp3gwSlnpbtYv4Niq6tcMMSZivSnYWQIaJnUvHb4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.219.149' (ECDSA) to the list of known hosts.


Linux
  1. 「gpg:keyserver receive failed:Nodirmngr」エラーを修正する方法

  2. エラーを修正する方法– ModSecurity:コード44でアクセスが拒否されました[Apache]

  3. apt-get 更新中に GPG No Public Key NO_PUBKEY エラーを修正する方法

  1. Linuxでのcron認証失敗エラーを修正するにはどうすればよいですか?

  2. YUMインストール中に「GPGキーの取得に失敗しました」エラーを修正するにはどうすればよいですか?

  3. OpenStackエラーを修正する方法–ネットワークの削除に失敗しましたか? [解決済み]

  1. Metasploitエラーを修正する方法–バンドラーgemをインストールする必要がありますか? [解決済み]

  2. SPKAC公開鍵で署名の検証に失敗しました–OpenCAエラーを修正しました

  3. 自動マウントのUSBキーを取得するにはどうすればよいですか?