/etc/sshd/ディレクトリーには、SSH関連の設定ファイルが入っています。
SSHをインストールすると、ホストを識別するための鍵が生成されます。
SSHクライアントからSSHサーバーにログインする際に、前回ログインした時とサーバーのホスト識別鍵が異なると、サーバーがすり替えられたと見 なされ て、警告が表示されます。
ホスト名を変えずにOSを新規インストールすると、ホスト識別鍵も新しくなるので、サーバーがすり替えられたと誤認されます。
これを防ぐためには、インストール前に次のファイルを保存し、インストール後に書き戻します。
ファイル名 |
パーミッション |
moduli |
600 |
ssh_host_dsa_key |
600 |
ssh_host_dsa_key.pub |
644 |
ssh_host_key |
600 |
ssh_host_key_pub |
644 |
ssh_rsa_key |
600 |
ssh_rsa_key.pub |
644 |
なお、次のファイルは、新しくインストールされたものを使ってください。
ssh_config |
644 |
sshd_config |
600 |
なぜホストを識別する鍵が必要かというと、電源を切る、ネットワーク経由で攻撃して落とすなどの方法で、サーバーを止め、同じIPアドレスで偽サー バーを 立ち上げるという手口を防ぐためです。
誤って sshd_config をバックアップから書き戻したところ、SSHは動くがSFTPが動かないという怪奇現象で悩みました。