Windows SSH: Berechtigungen für 'private-key' sind zu offen
I've OpenSSH 7.6 in Windows 7 zu Testzwecken installiert. SSH-Client & Server arbeiten einfach gut, bis ich versucht, eine meiner AWS EC2 Box von diesem Fenster zugreifen.
Es scheint, dass ich die Berechtigung für die private Schlüsseldatei ändern muss. Dies kann unter Unix/Linux mit dem Befehl chmod
leicht durchgeführt werden.
Was ist mit Windows?
private-key.ppm wird direkt von AWS kopiert und ich vermute, die Berechtigung auch.
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
ubuntu@192.168.0.1: Permission denied (publickey).
C:\>
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
ubuntu@192.168.0.1: Permission denied (publickey).
C:\>
105
3
Suchen Sie die Datei im Windows Explorer, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Eigenschaften". Navigieren Sie zur Registerkarte "Sicherheit" und klicken Sie auf "Erweitert".
Ändern Sie den Besitzer auf Sie, deaktivieren Sie die Vererbung und löschen Sie alle Berechtigungen. Gewähren Sie sich dann "Volle Kontrolle" und speichern Sie die Berechtigungen. Jetzt wird sich SSH nicht mehr über zu offene Dateien beschweren.
Am Ende sollte es so aussehen:
Schlüssel dürfen nur für den Benutzer zugänglich sein, für den sie bestimmt sind, und nicht für andere Konten, Dienste oder Gruppen.
CLI:
Ich hatte das gleiche Problem, und es scheint mit der Version von SSH zusammenzuhängen, die Sie verwenden.
Wenn ich eingebe
erhalte ich...
Wenn ich
ssh -V
an beiden Orten ausführe, erhalte ich...bzw.
Wenn ich also
ssh
aus dem git/bin-Verzeichnis ausführe, funktioniert es einwandfrei und beschwert sich nicht über die Berechtigungen, aber wenn ich dieselbe Befehlszeile mit der früheren SSH-Installation ausführe, kommt das folgende Ergebnis zurück.ps. die Berechtigungen für die Datei sind nur Vollzugriff für mich selbst, und sonst nichts.