Windows SSH: Toestemmingen voor 'private-key' zijn te open
Ik'heb OpenSSH 7.6 geïnstalleerd in Windows 7 voor testdoeleinden. SSH client & server werken prima totdat ik probeerde toegang te krijgen tot een van mijn AWS EC2 boxen vanaf dit windows.
Het lijkt erop dat ik de rechten op het private key bestand moet veranderen. Dit kan gemakkelijk worden gedaan op unix/linux met chmod
commando.
Hoe zit het met Windows?
private-key.ppm is rechtstreeks gekopieerd van AWS en ik denk de toestemming ook.
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
U lokaliseert het bestand in Windows Verkenner, klikt er met de rechtermuisknop op en selecteert vervolgens "Eigenschappen". Navigeer naar het tabblad "Beveiliging" en klik op "Geavanceerd".
Verander de eigenaar in uzelf, schakel overerving uit en verwijder alle machtigingen. Geef jezelf dan "Volledige controle" en sla de rechten op. Nu zal SSH niet meer klagen over te open bestandstoestemmingen.
Het zou er uiteindelijk zo uit moeten zien:
Sleutels mogen alleen toegankelijk zijn voor de gebruiker voor wie ze bedoeld zijn en voor geen enkele andere account, dienst of groep.
CLI:
Ik had hetzelfde probleem, en het lijkt te maken te hebben met de versie van SSH die je gebruikt.
Als ik typ
krijg ik...
Als ik
ssh -V
op beide locaties uitvoer, krijg ik...respectievelijk
Dus, als ik
ssh
uitvoer vanuit de git/bin directory, werkt het prima en klaagt het niet over de rechten, maar als ik dezelfde commandoregel uitvoer, met de vorige installatie van SSH, komt het terug met dit.ps. de permissies op het bestand zijn gewoon volledige toegang voor mezelf, en niets anders.