.png)
certutil
ローカル PowerShell からリクエストを実行すると、すべて正常になります。
PS C:\Users\admuser> certutil -ping -config 'caserver\ca'
Connecting to caserver\ca ...
Server "ca" ICertRequest2 interface is alive (32ms)
CertUtil: -ping command completed successfully.
PS C:\Users\admuser>
OpenSSH で接続された Linux ホストから同じ Windows サーバーに同じことを実行すると、エラーが発生します。
PS C:\Users\admuser> certutil -ping -config 'caserver\ca'
Connecting to caserver\ca ...
Server could not be reached: The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE) -- (16ms)
CertUtil: -ping command FAILED: 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)
CertUtil: The RPC server is unavailable.
PS C:\Users\admuser>
SSH 経由で接続してコマンドを実行すると、両方ともローカル PowerShell から実行されるのに何が問題になるのか、何かアイデアはありますか?
答え1
ここでの問題は、SSH キーによる認証です。これを行うと、 および RPC サービスに必要な追加の認証を使用できなくなりますcertutil
。この動作は、MS によって文書化されているように、やや隠されています。
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
キーベースの認証を介して開かれたリモート セッションには関連付けられたユーザー資格情報がないため、ユーザーとして送信認証を行うことはできません。これは設計によるものです。
したがって、MS エコシステムに対してさらに認証が必要な場合は、キーベースの認証は使用できません。SSH の場合はユーザー名とパスワードを使用する必要があります。