
この質問は「リモートホストIDが変更されました!」という問題を修正するためのものであることに注意してください。サーバー側。
私はその意味を理解しており、自分が何をしているのかを正確に理解しています。
- サーバーを再インストール/アップグレードしていますが、プロセスをできるだけスムーズに進めたいと考えています。
- 再インストール/アップグレード中に、古いバージョンと新しいバージョンを何度も起動する必要がある場合があります。
したがって、クライアント側からの警告を可能な限り排除する必要があります。そうしないと、~/known_hosts
ファイルを不必要に前後に反転する必要があります。
では、新しいサーバーのフィンガープリント/ECDSA キーを以前と同じように設定するにはどうすればよいでしょうか?
答え1
更新: 少し考えた後、キー ファイルと、それらを参照する構成エントリだけをコピーするように推奨を変更することにしました。キー ファイルはすべて /etc/ssh/ にあり、名前が付けられssh_host_<keytype>_key
、それぞれに対応する拡張子付きの公開キー ファイルがあります.pub
。以下は、dsa、ecdsa、ed25519、および rsa キーの例です。
$ cd /etc/ssh
$ ls -l ssh_host_*key*
-rw------- 1 root root 668 Apr 8 03:43 ssh_host_dsa_key
-rw-r--r-- 1 root root 606 Apr 8 03:43 ssh_host_dsa_key.pub
-rw------- 1 root root 227 Apr 8 03:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 178 Apr 8 03:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root 411 Apr 8 03:43 ssh_host_ed25519_key
-rw-r--r-- 1 root root 98 Apr 8 03:43 ssh_host_ed25519_key.pub
-rw------- 1 root root 1679 Apr 8 03:43 ssh_host_rsa_key
-rw-r--r-- 1 root root 398 Apr 8 03:43 ssh_host_rsa_key.pub
また、/etc/ssh/sshd_config に sshd にそれらを使用するように指示するエントリがある可能性がありますHostKey
。私の場合、ファイルはデフォルトのものだけなので、関連する行はコメント アウトされています。
$ grep HostKey /etc/ssh/sshd_config
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
元のサーバーからキー ファイルを複製できるはずです (古い権限と一致するようにしてください)。コメントされていないHostKey
エントリがある場合は、それらを新しい構成sshd_config
ファイルにも追加する必要があります。デフォルト以外の設定が他にもある場合は、それらもコピーする必要があります。
当初は、古いサーバーから新しいサーバーにディレクトリ全体をクローンすることを推奨していました/etc/ssh/
。これには、追加した設定変更が自動的にコピーされるという利点があります。欠点 (そして、私がこれを推奨しないことにした理由) は、セキュリティを向上させるために行われた変更が古い構成に含まれていない可能性があることです。
たとえば、古い設定にはカスタム Diffie-Hellman 係数を記述した /etc/ssh/moduli ファイルがなく、新しい OS バージョンではそれが自動生成されない可能性があります。デフォルトの係数はあまり安全ではなく、以前は全員が同じ係数を使用していたため、その係数への攻撃は全員への攻撃となるため、これは問題となります。ここそしてここさらに詳しい情報については。
「古い」サーバー構成がそれほど古くない場合は、カスタム モジュール ファイルがすでに存在しているはずですが、これは単なる例です。おそらく他にも更新する必要があるものがあるため、ほとんど新しい構成を使用する方がよいでしょう。ちなみに、異なるモジュールを使用しても「ID CHANGED」タイプのエラーは発生しないため、そのファイルが古いサーバーに存在する場合は、コピーする必要はありません。