Windows SSH サーバーで ECDSA P521 ホスト キーをロードできませんでした

Windows SSH サーバーで ECDSA P521 ホスト キーをロードできませんでした

私のクライアントは ecdsa 521 キーのみをサポートしているため、Windows 10 SSH サーバーで ecdsa p521 ホスト キーを生成しようとしています。そのため、次の手順を使用しましたが、サーバーから p521 ホスト キーをロードできませんでした。

1.管理者ユーザーとしてPower Shellから以下を実行します。

C:\Windows\System32\OpenSSH\ssh-keygen.exe -C system -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_p521_key
  1. sshd_configを変更して追加する

    HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key
    KexAlgorithms ecdh-sha2-nistp521
    HostKeyAlgorithms ecdsa-sha2-nistp521
    
  2. Power Shell から Restart-Service sshd を実行します。

    Restart-Service : Failed to start service 'OpenSSH SSH Server (sshd)'.
    At line:1 char:1
    Restart-Service sshd
    ~~~~~~~~~~~~~~~~~~~~
    CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) 
    [Restart-Service], ServiceCommandException
    FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.RestartServiceCommand
    
  3. イベントビューアからログを確認する

    sshd: error: Could not load host key: __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key
    

懸念事項: デフォルトのホスト キー ssh_host_ecdsa_key を確認すると、ユーザー名は nt authorized\system@domain_name であることがわかりましたが、上記で生成したキーは user@domain_name です。これが根本的な原因であるかどうかはわかりません。

答え1

回避策は既存のキーファイルを利用することです

  1. Windowsの検索バーから「実行」>「%programdata%」と入力します。
  2. sshをクリックすると、すべてのキーファイルとssh設定ファイルが表示されます。
  3. 上記のパスをコピーします(C:\ProgramData\ssh である必要があります。そうでない場合は、次の手順で C:\ProgramData\ssh を以下のパスに置き換えます)。
  4. 管理者としてPower Shellを開く
  5. C:\Windows\System32\OpenSSH\ssh-keygen.exe -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_key を使用します
  6. sshd サービスを再起動する

関連情報