通过 ssh 的 certutil(RPC 服务器不可用)

通过 ssh 的 certutil(RPC 服务器不可用)

从本地 powershell执行certutil请求时一切正常。

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 密钥进行身份验证。如果这样做,您将无法使用进一步的身份验证,certutil而这是 RPC 服务所必需的。此行为在 MS 的记录中有些隐蔽。

https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

通过基于密钥的身份验证打开的远程会话没有关联的用户凭据,因此无法以用户身份进行出站身份验证,这是设计使然。

因此,如果您需要针对 MS 生态系统进行进一步的身份验证,则无法使用基于密钥的身份验证。您必须使用 ssh 的用户名和密码。

相关内容