サーバーキーを変更せずに SSHD をアップグレードするにはどうすればよいですか?

サーバーキーを変更せずに SSHD をアップグレードするにはどうすればよいですか?

そこで、SSHD をアップグレードする必要があります。(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
0e:a1:b1:40:85:a2:a7:03:17:1b:52:8f:10:c7:b3:d0.
Please contact your system administrator.
Add correct host key in /home/USERNAME/.ssh/known_hosts to get rid of this message.
Offending key in /home/USERNAME/.ssh/known_hosts:13
RSA host key for [192.168.1.1]:22 has changed and you have requested strict checking.
Host key verification failed.

答え1

通常、sshd をアップグレードするだけではホスト キーは置き換えられません。したがって、アップグレードするだけで問題は解決します。

注: 通常、これは必要ありませんが、安全のために、SSH ホスト キーのバックアップを作成し、システムをアップグレードした後にコピーし直すことができます。通常は、バックアップする必要があります/etc/ssh/ssh_host*。何か問題が発生した場合、後でファイルを復元できます。

答え2

これは古い質問だとは思いますが、今後の検索のために追加しておくとよいと思います。sshd をアップグレードしてもホスト キーが再作成されることはないので、アップグレードしても問題ありません。ただし、サーバーをアップグレードすると、新しいホスト キーが作成されることがあります。説明されているメッセージは、ssh クライアントがサーバーのホスト キーを認識しない場合に表示されるため、ホスト キーを変更するとこの問題が発生します。

この問題を回避する方法の 1 つは、SSH の使用法を、パスワードとキーの代わりに証明書を使用するように変更することです。これには多少の作業と変更が必要ですが、サーバーをより適切に署名したい場合は、その価値はあります。ここに非常に優れたガイドがあります。

http://neocri.me/documentation/using-ssh-certificate-authentication/

基本的に、サーバー用の CA とユーザー用の CA を作成し、それらを使用してクライアントとサーバーをそれぞれ認証します。ユーザー名/パスワードでログインすると上記のメッセージが表示されますが、証明書を使用してログインするユーザーにとって重要なのは、サーバー ホスト証明書がサーバー CA によって署名されているかどうかだけです。

関連情報