
リモート ホストの SSH サーバーにアクセスするには、次の 2 つの方法があります。
ローカルIPアドレスを使用する
パブリックIPアドレスを使用する
昨日、リモートホストにSSHサーバーを再インストールし、既知のホストファイルを更新しました。ローカルIPアドレス. 私は今、ローカルネットワークから離れて、そのネットワークを使用してサーバーに接続しようとしています。パブリックIPアドレス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 a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
MD5:FINGERPRINT.
Please contact your system administrator.
Add correct host key in /Users/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/user/.ssh/known_hosts:25
ECDSA host key for [PUBLIC IP]:PORT has changed and you have requested strict checking.
Host key verification failed.
これは SSH サーバーを変更したためであると 99% 確信していますが、再確認して検証したい場合はどうすればよいでしょうか?
私の質問は
リモートホストの新しい指紋を、地元サーバーのIPアドレス?
私がやったこと
次のコマンドを実行しました:
ssh-keygen -lv -f ~/.ssh/known_hosts
そして、保存されたSHA256フィンガープリントを見つけました。地元私のサーバーの IP アドレス。これをリモート ホストから送信された SHA256 フィンガープリントと比較したところ、同一のものであることがわかりました。
どうすれば 100% 確信できますか? これを適切に実行しましたか?
答え1
はい、正しく実行できました。SSH で検証したい場合は、~/.ssh/known_hosts
ファイルを編集します。サーバーのローカル IP アドレスとフィンガープリントをリストした行を見つけて、そのフィンガープリントをコピーし、サーバーのパブリック IP アドレスの行にある古いフィンガープリントを置き換えます。