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_keys
Je 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.