Ich versuche, einen ECDSA-P521-Hostschlüssel auf meinem Windows 10-SSH-Server zu generieren, da mein Client nur den ECDSA-521-Schlüssel unterstützt. Daher habe ich die folgenden Schritte ausgeführt, konnte den P521-Hostschlüssel jedoch nicht vom Server laden.
1.Führen Sie Folgendes von Power Shell als Administrator aus
C:\Windows\System32\OpenSSH\ssh-keygen.exe -C system -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_p521_key
Ändern Sie sshd_config, um hinzuzufügen
HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key KexAlgorithms ecdh-sha2-nistp521 HostKeyAlgorithms ecdsa-sha2-nistp521
Starten Sie den Dienst sshd über Power Shell neu
Restart-Service : Failed to start service 'OpenSSH SSH Server (sshd)'. At line:1 char:1 Restart-Service sshd ~~~~~~~~~~~~~~~~~~~~ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Restart-Service], ServiceCommandException FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.RestartServiceCommand
Überprüfen Sie das Protokoll vom Event Viewer
sshd: error: Could not load host key: __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key
Problem: Schauen Sie sich den Standard-Hostschlüssel ssh_host_ecdsa_key an. Ich habe herausgefunden, dass der Benutzername nicht Authority\system@domain_name ist, aber der Schlüssel, den ich oben generiert habe, ist user@domain_name. Ich bin nicht sicher, ob dies die Grundursache sein könnte
Antwort1
Die Problemumgehung besteht darin, sich auf die vorhandenen Schlüsseldateien zu verlassen
- Geben Sie in der Windows-Suchleiste „Ausführen“ > „%programdata%“ ein.
- Klicken Sie auf SSH. Sie sollten alle Schlüsseldateien und SSH-Konfigurationsdateien sehen
- Kopieren Sie den Pfad von oben (sollte C:\ProgramData\ssh sein, wenn nicht, ersetzen Sie im nächsten Schritt C:\ProgramData\ssh durch Ihren Pfad unten
- Öffnen Sie Power Shell als Administrator
- mit C:\Windows\System32\OpenSSH\ssh-keygen.exe -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_key
- Neustart-Dienst sshd