SSH ホスト キーを再作成しようとすると、エラー「ホスト キーを読み込めませんでした」が発生する

SSH ホスト キーを再作成しようとすると、エラー「ホスト キーを読み込めませんでした」が発生する

ssh サーバーのホスト キーを再作成しようとしています。

これを行うには少なくとも 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 ファイルに何が含まれているかを確認しました。

    HostKey /etc/ssh/ssh_host_rsa_key
    

    完全に一致しました。そこで、すべてのキーの所有者と権限を確認しました

    -rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
    

    すべてのキーを削除して で再作成するとdpkg-reconfigure openssh-server、キーは小さくなり、上記と同じファイル権限を持ちます。

質問:dpkg-reconfigureRSA のキー長 4096 を使用するにはどうすればよいですか?

答え1

上記の回答はどれも私には効果がありません。次の操作を行って Ubuntu システムを修正しました。

/usr/bin/ssh-keygen -A

答え2

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

パスワード付きのホストキーを作成します。そのホストキーのロックを解除するためのカスタマイズはありますか? ない場合は、サービスを管理するスクリプトが起動し、ホストキーのロードを試行して失敗するという、予想どおりの結果だと思います。私の知る限り、パスワードで保護されたホストキーを作成すべきではありません。

SSHサーバーの強化に興味があるなら、以下を読むことをお勧めします。https://stribika.github.io/2015/01/04/secure-secure-shell.htmlこのドキュメントでホストキーを作成するために使用されるコマンドは次のとおりです。

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

ただし、変更を加える前にドキュメント全体を読んでおく必要があります。

答え3

単に実行します:

ssh-keygen -t rsa -b 4096

ssh-keygenSSH キーを生成します。

  • -t作成するキーの種類を指定します
  • -bキーのビット数を指定します。

見るこのページ詳細については。

関連情報