Ich sehe, dass Sie ein Yubico-Gerät als PIV verwenden. Unter Windows verwenden Sie jedoch den PUTTY-CAC und die CAPI. Dies bedeutet, dass der in Windows 10 integrierte PIV-Code höchstwahrscheinlich für den Zugriff auf den Yubico als PIV-Karte verwendet wird. Das sollte funktionieren, aber es sieht so aus, als würde die zurückgegebene Signatur nicht bestätigen. Es kann auch sein, dass der Putty-CAPI-Code die SSH-Antwort nicht korrekt erstellt.
Wenn Sie den Putty-CAC betrachten, ist nicht klar, ob der Code SHA256 unterstützt. Das ursprüngliche Windows-BSP unterstützte nicht nur CALG_SHA1. CALG_SHA_256 wurde später unterstützt. Microsoft ALG_ID
Putty verfügt über eine Protokollierungsfunktion, die hilfreich sein kann. WireShark kann auch hilfreich sein, um zu sehen, wie ssh-Pakete ausgetauscht werden.
Möglicherweise möchten Sie die Putty-CAC PKCS # 11-Schnittstelle verwenden und entweder die opensc-pkcs11- oder die Yubico pkcs11-Module verwenden.
Beim Testen unter Windows 10 mit Putty-CAC (Client-Protokollversion 2.0; Client-Softwareversion PuTTY_Release_0.70_4) bis OpenSSH (lokale Versionszeichenfolge SSH-2.0-OpenSSH_7.7) mit einem Yubikey 4 mit PIV-Applet. Ich kann es mit pkcs11 (opensc-pkcs11.dl) arbeiten lassen, aber nicht mit der CAPI. Ich glaube, das Problem liegt in Putty-CAC cert-capi.c Zeile 68: if (CryptCreateHash((HCRYPTPROV)hCryptProv, CALG_SHA1, 0, 0, &hHash) != FALSE &&
Ich glaube, das Problem CALG_SHA1
sollte sein. CALG_SHA_256
Als neuere OpenSSH unterstützen sha1 nicht für Signaturen, sondern entweder rsa-sha-256 oder rsa_sha-512.
Ich habe keine gute Umgebungseinstellung, um Putty-CAC neu zu erstellen.
Eine weitere gute Site ist https://piv.idmanagement.gov/engineering/ssh/
Siehe Fehlerbericht unter Putty-CAC / Issues / 30
Nach weiteren Tests stellte sich heraus, dass das Entfernen des Yubico Minidriver-Pakets dazu führte, dass die Arbeit anfing. Der Treiber ist nicht erforderlich, da Windows 10 einen integrierten Treiber für PIV-Karten oder -Token mit einem PIV-Applet enthält. Der Yubico Minidriver konnte nicht mit etwas umgehen, was dazu führte, dass eine MessageBox angezeigt wurde, aber Putty-CAC hat die fehlerhaften Rückkehrcodes nicht verarbeitet und im Voraus eine falsche Antwort mit falscher Signatur an SSHD gesendet.