SSHホストキーを再作成しようとしたときにエラー「ホストキーをロードできませんでした」


13

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ファイルの内容を確認しました。

    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-reconfigure RSAでkeylengh 4096 を使用するにはどうすればよいですか?


問題の詳細についてはsshd、コマンドライン(sudo sshd -d)からデバッグモードで実行し、出力を投稿してください。
デビッドフォースター

@DavidFoersterそれは良い提案のように見えます。キーを一時的に移動し、パスワードを使用して新しいキーを作成し、停止して再起動することで問題を再現しようとしました... OPのエラーメッセージが表示されません。これは、livewire@za20:/etc/ssh$ sudo sshd -d出力を取得した結果です。sshd re-exec requires execution with an absolute pathそうでない場合、回答に例が含まれていました。(
LiveWireBT

申し訳ありませんが、それはあったはずsudo /usr/sbin/sshd -dです。あなたが得たエラーは、文字通りの意味です(明確ではありませんが)。
デビッドフォースター

受け入れられた答えが問題を解決したとしても、私はまだ最初の投稿の最後の質問について疑問に思っていdpkg-reconfigureます。この情報を含む設定ファイルはどこかにありますか?debconfデータベース(/var/cache/debconf/)を調べましたが、キー長のようなものは見つかりませんでした。
-ph0t0nix

回答:


8
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

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


動作します。ここでmyverylongpasswordを削除するだけです。ところで:本当に素晴らしい記事を読んでください。実際にはOpenSSHは私の場合のubuntu-REPROから来ている、とKexAlgorithms curve25519-SHA256 @ libssh.org、ディフィー・ヘルマン・グループ交換-SHA256サポートしていませんでした
エミル・ソマー

20

上記の答えはどれもうまくいきませんでした。以下を実行して、ubuntuシステムを修正しました。

/usr/bin/ssh-keygen -A

1
この。これは本当の答えです。ssh-keygenの「-A」フラグに関するマンページで確認されています。ホストキーが存在しないキータイプ(rsa1、rsa、dsa、ecdsa、ed25519)ごとに、デフォルトのキーファイルパス、空のパスフレーズ、キータイプのデフォルトビット、およびデフォルトのコメントを持つホストキー。これは、新しいホストキーを生成するためにシステム管理スクリプトによって使用されます。
BoomShadow

1

単に実行する:

ssh-keygen -t rsa -b 4096

ssh-keygen SSHキーを生成します。

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

詳細については、このページを参照してください


これは答えではありません。ホストキーをロードできなかったという結果で、私の質問を見てください。
エミルサマー

3
正確@EmilSommerいや、ある答えは、ちょうど(エラーメッセージとその意味を取得する理由)の説明が不足して。
LiveWireBT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.