ssh-serverのホストキーを再作成しようとしています。
これには少なくとも2つの方法があります。
dpkg-reconfigureを使用する方法。
dpkg-reconfigure openssh-server
これはうまくいくのですが、鍵の長さを指定することができません。例えば、RSAキーに4096が必要です。
ssh-keygen** を使って手動で。
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
これで鍵は再作成されましたが、サーバーを再起動すると、以下のエラーメッセージが表示されます。
could not load host key:/etc/ssh/ssh_host_rsa_key
と表示されるので、sshd_config ファイルを確認したところ、何が入っているのでしょうか。
ホストキー /etc/ssh/ssh_host_rsa_key
は完全に一致します。そこで、すべての鍵の所有者と権限を確認したところ
-rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
全ての鍵を削除して、dpkg-reconfigure openssh-server
で再作成すると、鍵は小さくなり、上記のように同じファイル権限を持つようになりました。
Question: RSAのkeylengh 4096でdpkg-reconfigure
を使うにはどうしたらいいでしょうか?
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
しかし、サーバを再起動すると、次のようなメッセージが表示されます。
サーバを再起動すると、「Could not load host key:と表示されるのですが、サーバを再起動すると、「could not load host key: /etc/ssh/ssh_host_rsa_key
ホストキーはパスワード付きで作成します。そのホストキーを解除するためのカスタマイズはないのでしょうか?そうでないなら、サービスを管理するスクリプトが起動し、ホストキーをロードしようとして失敗する、というのが予想されることだと思うのですが。私の知る限り、パスワードで保護されたホストキーは作成してはいけません。
もしあなたがSSHサーバーの堅牢化に興味があるなら、 https://stribika.github.io/2015/01/04/secure-secure-shell.html を読むことをお勧めします。
ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key
しかし、何か変更を加える前にこのドキュメント全体を読む必要があります。