.png)
Ao executar uma certutil
solicitação de um PowerShell local, está tudo bem.
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>
Fazendo o mesmo de um host Linux conectado com OpenSSH ao mesmo servidor Windows, obtemos um erro.
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>
Alguma idéia do que há de errado em conectar-se por ssh e depois executar o comando, ambos executados a partir de um PowerShell local?
Responder1
O problema aqui é a autenticação com uma chave ssh. Se você fizer isso, não poderá usar autenticação adicional, que é exigida pelo certutil
e, portanto, pelo serviço RPC. Este comportamento está um tanto oculto, documentado pela MS.
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Uma sessão remota aberta por meio de autenticação baseada em chave não possui credenciais de usuário associadas e, portanto, não é capaz de autenticação de saída como usuário; isso ocorre por design.
Portanto, se você precisar de autenticação adicional no ecossistema MS, não poderá usar a autenticação baseada em chave. Você tem que usar nome de usuário e senha para ssh.