.png)
Beim Ausführen einer certutil
Anfrage von einer lokalen Powershell ist alles in Ordnung.
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>
Wenn wir dasselbe von einem per OpenSSH verbundenen Linux-Host aus mit demselben Windows-Server tun, wird eine Fehlermeldung angezeigt.
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>
Irgendwelche Ideen, was falsch daran ist, eine Verbindung über SSH herzustellen und dann den Befehl auszuführen, wobei beides von einer lokalen Powershell aus ausgeführt wird?
Antwort1
Das Problem ist hier die Authentifizierung mit einem SSH-Schlüssel. Wenn Sie dies tun, können Sie keine weitere Authentifizierung verwenden, die vom certutil
und damit vom RPC-Dienst benötigt wird. Dieses Verhalten ist von MS etwas versteckt dokumentiert.
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Einer Remote-Sitzung, die über eine schlüsselbasierte Authentifizierung geöffnet wird, sind keine Benutzeranmeldeinformationen zugeordnet und sie kann sich daher nicht als Benutzer ausgehend authentifizieren. Dies ist so beabsichtigt.
Wenn Sie also eine weitere Authentifizierung gegenüber dem MS-Ökosystem benötigen, können Sie keine schlüsselbasierte Authentifizierung verwenden. Sie müssen für SSH Benutzernamen und Passwort verwenden.