先月、現在 Our Code World がホストされているサーバーを、より純粋に良いサーバーにアップグレードすることにしました。 いつものように、新しいサーバーを取得し、古いサーバーのデータを移行するために設定を開始しました。 しばらくして、古いルートキーファイルを削除するために、サーバーのウェブサイトにある管理パネルにアクセスしたところ、サーバーが置かれているデータセンターがアメリカではなく、フランスにあることに気づきました。 選択したデータセンターが違っていたので、アメリカに新しいサーバーをリクエストしました。 デプロイ後、新しいオペレーティングシステムをインストールしましたが、Ubuntuのバージョンを間違えてしまい(18.04ではなく16)、もう一度サーバーをワイプしました。 私はUbuntuの正しいバージョンをインストールしたことを最終的に確認した後、私は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 isXX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XXPlease contact your system administrator.Add correct host key in /root/.ssh/known_hosts to get rid of this message.Offending key in /root/.ssh/known_hosts:5RSA host key for :22 has changed and you have requested strict checking.Host key verification failed.

問題は、あなたが以前に接続していたサーバーに接続しているが、そのRSAホストは、あなたがそれに接続する最後の時間から変更されているので発生します(私はUbuntu 16.04 でサーバの最初のバージョンを接続して、Ubuntu 18.04 と同じサーバーに接続しようとすると例外が表示されました)。 セキュリティ侵害を防ぐため、正しく接続するためには、ローカルマシンの known_hosts ファイルからこのキーを削除する必要があります。

A. 手動で問題のあるキーを削除する

さて、known_hosts ファイルを削除することは、フィンガープリントが有効であることをあるサーバーに接続するたびに確認しなければならないことを気にしない限り、有効な解決策であり、known_hosts ファイルを削除しないでください。 最も簡単な解決策は、ファイル上の問題のある行を単に削除することです。この場合、例外メッセージは問題のあるキーが行番号 5:

Add correct host key in /root/.ssh/known_hosts to get rid of this message.Offending key in /root/.ssh/known_hosts:5

にあることを警告します。したがって、次のような単一のコマンド(5 を行番号に置換)を使用して行を削除するだけです:

sed -i '5d' ~/.ssh/known_hosts

そしてこれだけです。 または、nano や vim などのターミナルエディタを使用して known_hosts ファイルを変更し、自分でその行を削除します:

B. ssh-agent の使用

あるいは、ホスト名/IP がわかっていれば、ssh-keygen ツールを使用して問題の鍵を単に削除することもできます:

ssh-keygen -R <SERVER_IP_OR_HOSTNAME> -f ~/.ssh/known_hosts

これもターミナルに現れる警告を取り除くために有効です。

Happy coding ❤️!

コメントを残す

メールアドレスが公開されることはありません。