it-swarm.com.de

OpenSSH unter Windows - "XXX Öffentlicher Schlüssel konnte nicht in __PROGRAMDATA__ gespeichert werden.

Ich versuche, OpenSSH auf einem Windows Server (2012 R2-Standard) zu installieren, und ich habe die Anweisungen an dieser Stelle befolgt: https://www.server-world.info/de/note?os=Windows_Server_2012&p=openssh

Ich habe Powershell als Administrator ausgeführt und alles scheint korrekt zu installieren, bis ich den SSH-Host-Schlüssel mit dem Befehl .\ssh-keygen.exe -A (Schritt 7 der Anweisungen) generieren möchte. Nach dem Ausführen wird ein Fehler ausgegeben:

RSA Konnte Ihren öffentlichen Schlüssel nicht in __PROGRAMDATA __ \\ ssh/ssh_Host_rsa_key.9uX3wf3apv speichern: Keine solche Datei des Verzeichnisses "

Der gleiche Fehler wird auch für DSA, ECDSA und ED25519 angezeigt.

Screenshot of errors

Wenn mir jemand sagen kann, wo ich hier falsch liege, wäre ich dankbar. Ich habe im Web gesucht und keine weiteren Hinweise darauf gefunden.

5
Evvy73

Ich habe den gleichen Fehler erhalten, aber als ich manuell einen Ordner unter Programmdaten namens SSH hinzufügte und dann den Befehl erneut ausführte, schien er zu funktionieren

12
Scott Coats

Der __PROGRAMDATA__ bezieht sich auf Ihre Umgebungsvariable PROGRAMDATA (die wahrscheinlich auf C:\ProgramData gesetzt ist).

Es ist normalerweise am einfachsten, eine cmd-Eingabeaufforderung und einen Typ zu öffnen 

mkdir %PROGRAMDATA%\ssh

und dann die 

.\ssh-keygen.exe -A
7
Anthon

Sie müssen dies von einer cmd-Eingabeaufforderung aus tun, da Powershell die ProgramData-Variable durcheinander bringt.

Mach das 

C:\Programme\OpenSSH-Win64> Powershell.\Install-sshd.ps1 -A

von einer Eingabeaufforderung und Sie werden wahrscheinlich gut zu gehen.

1
Espen Fossheim

Wenn Sie möchten, können Sie es als Administrator ausführen. Dadurch erhält ssh-keygen.exe alle Rechte, die zum Erstellen eigener Dateien erforderlich sind.

runas.exe /noprofile /user:Administrator .\ssh-keygen.exe

Dadurch werden die Schlüssel unter C:\Users\Administrator.ssh installiert

Wenn Sie möchten, dass die Schlüssel für Ihren aktuellen Benutzer oder einen anderen Benutzer zugänglich sind, führen Sie Powershell als diesen Benutzer aus, indem Sie mit der rechten Maustaste darauf klicken und auf Run as Different User Klicken.

Sie möchten nicht in einer erhöhten PowerShell sein, wenn Sie Schlüssel generieren

OpenSSH wird vom aktuellen Benutzer ausgeführt und überprüft dessen C:\Users\UserName.ssh. Ähnlich wie SSH unter Linux.

0
Carlos del Rio