SSH zu Windows mit Public-Key-Authentifizierung nicht möglich

SSH zu Windows mit Public-Key-Authentifizierung nicht möglich

Ich versuche, über SSH mit Public-Key-Authentifizierung eine Verbindung zu Windows herzustellen. Aber anscheinend funktioniert es nicht.

Hier ist, was ich getan habe.

Ich habe SSH unter Windows installiert und aktiviert.

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Ich habe öffentliche Schlüsseldateien generiert und an den Remotecomputer gesendet, um von dort aus eine SSH-Verbindung herzustellen.

ssh-keygen

Ich habe folgende Zeilen in der SSH-Einstellungsdatei "C:\ProgramData\ssh\sshd_config" geändert/hinzugefügt

PermitRootLogin yes
AllowUsers otheruser
PubkeyAuthentication yes
PasswordAuthentication no

Ich habe den SSH-Server neu gestartet, um die Einstellungsänderungen anzuwenden.

net stop sshd ; net start sshd

Ich habe versucht, per SSH vom Remote-Rechner (auch Windows, Powershell) auf den Windows-Rechner zuzugreifen

ssh -i C:\_sync_\id_rsa [email protected]

und scheiterte.

> ssh -i C:\_sync_\id_rsa [email protected]
[email protected]: Permission denied (publickey,keyboard-interactive).

Wie kann ich also dieses Problem der SSH-Public-Key-Authentifizierung lösen?

Antwort1

SSHing zu Windows ist Zeitverschwendung. Ihr Dokumenthttps://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagementist veraltethttps://github.com/MicrosoftDocs/windowsserverdocs/issues/4598und funktioniert leider nicht mehr.

Wenn Sie Windows 10 verwenden, empfehle ich die Verwendung von WSL Linux auf Ihrem Windows 10. Es handelt sich im Grunde genommen um eine Linux-Maschine unter Windows, die aber auch für die SSH-Funktion verfügbar ist. Das WSL-SSHing funktioniert genauso gut wie auf einer Linux-Maschine.

Antwort2

authorized_keysJe nachdem, ob Sie ein Standard- oder Administratorbenutzer sind, scheint Windows unterschiedliche Dateien zu erfordern .

Ab dem 15. April 2024 gibt es eine Erwähnung auf der OpenSSH für WindowsDokumentationdas besagt (fürVerwaltungBenutzer):

Der Inhalt Ihres öffentlichen Schlüssels (.ssh\id_ed25519.pub) muss auf dem Server in einer Textdatei namens administrators_authorized_keys in C:\ProgramData\ssh\ abgelegt werden.

verwandte Informationen