Après avoir fait comme ci-dessus, j'ai toujours obtenu ceci:
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
et l'erreur sur .ssh/config
. J'ai donc exécuté chown
sur le .ssh
dossier, et chmod
encore comme ceci:
> chown -R [USERNAME]:users .ssh/
et alors:
> chmod -R 600 .ssh/
et finalement je l'ai fait fonctionner:
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
Modifier (pour bash sur Windows10)
Lorsque vous obtenez l'erreur ..
Échec de l'ajout de l'hôte à la liste des hôtes connus (/PATH_TO_HOME/USERNAME/.ssh/known_hosts).
Assurez-vous que known_hosts est accessible en écriture
$ chmod 755 hôtes_connus
Remarque: je crois que vous devez uniquement définir 600 pour votre clé privée
Ensuite, essayez de ssh.
Quand vous obtenez..
Ajout permanent de 'HOST_IP' (RSA) à la liste des hôtes connus.
Vous pouvez remplacer le mode 600
$ chmod 600 known_hosts
PS : Je pense que c'est un bug sur Windows 8.
chown -R [Username]:Benutzer .ssh/
Cette réponse est copiée textuellement à partir de /superuser//a/875934/82032 . C'est la seule réponse qui a fonctionné pour moi après une récente mise à niveau de cygwin.
N'oubliez pas les ACL
Rien n'a fonctionné pour moi jusqu'à ce que je supprime le fichier d' ACL et réinitialise les autorisations.
Vous pouvez utiliser
getfacl
pour afficher la liste de contrôle d'accès actuelle dans un fichier.Avant de supprimer les ACL (cassé):
Après le travail)
la source
Vérifiez les autorisations du
config
fichier à l'aide de lals
commande de Cygwin :Ce sera probablement quelque chose comme ça:
Le fichier de configuration doit appartenir à [USERNAME]. Essaye ça:
ls -la
devrait maintenant montrer le bon propriétaire. Si cela ne fonctionne toujours pas, essayez de réinitialiser le mode (autorisations):la source
Pour unix et OSX
Tout simplement:
Pour les fenêtres
Si le fichier est un lien symbolique Windows (NTFS), ce qui précède ne fonctionnera pas. Vous devez en faire un fichier régulier. Je ne suis pas sûr pourquoi.
Si vous n'avez pas openssh ou cygwin, utilisez chocolatey pour l'installer facilement.
Ouvrez Cygwin Terminal qui a été installé avec chocolatey et exécuté (notez que cela
ssh-keygen
crée de nouvelles clés):Vérifiez que les clés sont là (ou remplacez-les par les clés que vous voulez), puis dans le shell Cygwin:
Ou pour les rares cas où vous utilisez (et avez généré les clés à partir de) le package SSH de chocolatey :
la source
Remarque importante si votre Windows n'est pas en anglais américain: le nom du groupe "utilisateurs" dépend des paramètres régionaux. Par exemple, si votre Windows est en espagnol, vous devrez changer la propriété des fichiers avec
chown $USER:Usuarios *
la source
Aucun de ces éléments (chmod / chown / icacls / setacl / copyacls / explorer> security) n'a fonctionné sur mon cygwin64 / win7 / admin, enfin cela fonctionne avec d'
cygwin64/ssh -F ~/.ssh/config
autres solutions: utiliser ssh plus ancien dans cygwin32 ou ssh dans git pour windows ..la source
-F
résoudra le problème avecconfig
, mais ne résoudra pas les autorisations pour les clés privées.Pour ceux qui utilisent
noacl
in path avec~/.ssh
dir une solution simple est de créer un lien symbolique NTFS natif:Avec
noacl
il n'y a aucun moyen de définir des autorisations autres querwxr-xr-x
ourw-r--r--
. Comme la/
hiérarchie doit être sansnoacl
(ou devrait être avecacl
), vous pouvez créer un répertoire ici et pointer vers des endroits problématiques pour les applications de Cygwin.la source
mklink /j
alors ou l'junction
outil de la suite Sysinternals.tldr: Vous avez peut-être créé la configuration en tant qu'administrateur
Solution
Ces solutions peuvent être excessives si vous avez fini par créer le fichier par erreur en tant qu'administrateur et en essayant d'utiliser le fichier avec des autorisations locales.
~/.ssh
dans PowerShell ou%userprofile%\.ssh
dans cmd )notepad .\config
Commandes simples (PowerShell):
la source