Nachdem ich wie oben verfahren habe, habe ich immer folgendes erhalten:
total 22
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 ..
-rw-rw---- 1 jl None 129 Jul 1 14:30 config
und der fehler weiter .ssh/config
. Also habe ich chown
den .ssh
Ordner durchlaufen lassen und chmod
nochmal so:
> chown -R [USERNAME]:users .ssh/
und dann:
> chmod -R 600 .ssh/
und endlich habe ich es geschafft:
total 29
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxrwt+ 1 jl None 0 Sep 9 18:44 ..
drw-------+ 1 jl Users 0 Sep 9 18:44 .ssh
Bearbeiten (für Bash unter Windows 10)
Wenn Sie den Fehler erhalten ..
Fehler beim Hinzufügen des Hosts zur Liste der bekannten Hosts (/PATH_TO_HOME/USERNAME/.ssh/known_hosts).
Stellen Sie sicher, dass known_hosts beschreibbar ist
$ chmod 755 known_hosts
Hinweis: Ich glaube, Sie müssen nur 600 für Ihren privaten Schlüssel festlegen
Versuchen Sie dann, ssh.
Wenn du bekommst..
'HOST_IP' (RSA) dauerhaft zur Liste der bekannten Hosts hinzugefügt.
Sie können den Modus 600 ersetzen
$ chmod 600 known_hosts
PS : Ich denke, das ist ein Fehler in Windows 8.
chown -R [Username]:Benutzer .ssh/
Diese Antwort wurde wörtlich von https://superuser.com/a/875934/82032 kopiert . Dies ist die einzige Antwort, die nach einem kürzlich durchgeführten Cygwin-Upgrade für mich funktioniert hat.
Vergessen Sie nicht die ACLs
Für mich hat nichts funktioniert, bis ich die Datei mit den ACLs entfernt und die Berechtigungen zurückgesetzt habe.
Mit können Sie
getfacl
die aktuelle ACL einer Datei anzeigen.Bevor ich die ACLs entfernt habe (defekt):
Nach der Arbeit)
quelle
Überprüfen Sie die Berechtigungen der
config
Datei mit demls
Befehl von Cygwin :Es wird wahrscheinlich so etwas sein:
Die Konfigurationsdatei muss zu [USERNAME] gehören. Versuche dies:
ls -la
sollte nun den richtigen Besitzer anzeigen. Wenn das immer noch nicht funktioniert, versuche den Modus zurückzusetzen (Berechtigungen):quelle
Für Unix & OSX
Recht einfach:
Für Windows
Wenn es sich bei der Datei um eine symbolische Windows-Verknüpfung (NTFS) handelt, funktioniert das oben Genannte nicht. Sie müssen es zu einer regulären Datei machen. Ich bin mir nicht sicher warum.
Wenn Sie OpenSh oder Cygwin nicht haben, verwenden Sie chocolatey, um es einfach zu installieren.
Öffnen Sie das mit chocolatey installierte Cygwin Terminal und führen Sie es aus (beachten Sie, dass
ssh-keygen
neue Schlüssel erstellt werden):Überprüfen Sie, ob Schlüssel vorhanden sind (oder ersetzen Sie sie durch die gewünschten Schlüssel), und führen Sie dann in der Cygwin-Shell folgende Schritte aus:
Oder für den seltenen Fall, dass Sie das SSH- Paket von chocolatey verwenden (und die Schlüssel daraus generieren) :
quelle
Wichtiger Hinweis, wenn Ihr Windows nicht in US-Englisch ist: Der Name der Benutzergruppe ist vom Gebietsschema abhängig. Wenn Ihr Windows beispielsweise auf Spanisch ist, müssen Sie den Besitz der Dateien mit ändern
chown $USER:Usuarios *
quelle
Keiner dieser Befehle (chmod / chown / icacls / setacl / copyacls / explorer> security) funktionierte auf meinem cygwin64 / win7 / admin. Letztendlich funktioniert dies mit
cygwin64/ssh -F ~/.ssh/config
anderen Lösungen, wenn Sie älteres ssh in cygwin32 oder ssh in git für Windows verwenden.quelle
-F
wird das Problem mitconfig
, aber nicht die Berechtigungen für private Schlüssel gelöst.Für diejenigen, die
noacl
im Pfad mit~/.ssh
dir eine einfache Lösung verwenden, ist das Erstellen einer systemeigenen symbolischen NTFS-Verknüpfung:Mit
noacl
gibt es keine Möglichkeit, andere Berechtigungen alsrwxr-xr-x
oder festzulegenrw-r--r--
. Da die/
Hierarchie ohnenoacl
(oder mitacl
) sein sollte, können Sie hier ein Verzeichnis erstellen und auf problematische Stellen für Cygwins Apps verweisen.quelle
mklink /j
dann oder dasjunction
Tool aus der Sysinternals Suite.tldr: Möglicherweise haben Sie die Konfiguration als Administrator erstellt
Lösung
Diese Lösungen sind möglicherweise zu viel des Guten, wenn Sie versehentlich die Datei als Administrator erstellt und versucht haben, sie mit lokalen Berechtigungen zu verwenden.
~/.ssh
in PowerShell oder%userprofile%\.ssh
in cmd ).notepad .\config
Einfache Befehle (PowerShell):
quelle