J'ai OpenSSH 7.6 installé dans Windows 7 à des fins de test. Le client et le serveur SSH fonctionnent parfaitement jusqu'à ce que j'essaye d'accéder à l'un de mes AWS EC2 à partir de cette fenêtre.
Il semble que je doive changer l'autorisation sur le fichier de clé privée. Cela peut être facilement fait sur unix / linux avec chmod
commande.
Qu'en est-il des fenêtres?
private-key.ppm est copié directement à partir d'AWS et j'imagine que l'autorisation aussi.
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh [email protected] -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
[email protected]: Permission denied (publickey).
C:\>
C:\>
C:\>ssh [email protected] -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
[email protected]: Permission denied (publickey).
C:\>
windows-7
ssh
permissions
Sabrina
la source
la source
Réponses:
Vous localisez le fichier dans l'Explorateur Windows, faites un clic droit dessus, puis sélectionnez "Propriétés". Accédez à l'onglet "Sécurité" et cliquez sur "Avancé".
Changez le propriétaire pour vous, désactivez l'héritage et supprimez toutes les autorisations. Puis accordez-vous le "Contrôle total" et sauvegardez les permissions. Maintenant, SSH ne se plaindra plus de la permission de fichier trop ouverte.
Cela devrait ressembler à ceci:
la source
10.0.17134.191
boîte Windows 10 ( ) avec Cygwin verCYGWIN_NT-10.0-WOW 2.3.1(0.291/5/3) 2015-11-14 12:42
et ssh verOpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4
, et 2) Merci! @ iBug!Les clés ne doivent être accessibles qu'à l'utilisateur auquel elles sont destinées et à aucun autre compte, service ou groupe.
CLI:
la source
network service
Cygwin pense que l'autorisation est 0770 au lieu de 0700.network service
peut posséder un fichier et c'est un groupeEn plus de la réponse fournie par ibug. Depuis que j'utilisais le système Ubuntu dans Windows pour exécuter la commande ssh. Cela ne fonctionnait toujours pas. Donc j'ai fait
et puis ça a marché
la source
sudo
ne doit pas être utilisé pour ouvrir une session SSH car cela pose un risque pour la sécurité. Le seul moment (du moins que je sache) du compte root qui devrait être utilisé pour ouvrir une session SSH est sur des systèmes mono-utilisateur (normalement situés sur le système d'exploitation du routeur [OpenWrt, DD-WRT, etc.] et sur d'autres systèmes intégrés ) . Les clés SSH doivent être accessibles uniquement à l'utilisateur auquel elles sont destinées et à aucun autre compte, service ou groupe.J'ai eu le même problème, et il semble être lié à la version de SSH que vous utilisez.
Si je tape
Je reçois...
Quand je cours
ssh -V
dans les deux endroits, je reçois...respectivement
Ainsi, lorsque je lance à
ssh
partir du répertoire git / bin, cela fonctionne bien et ne se plaint pas des autorisations, mais l'exécution de la même ligne de commande, en utilisant l'ancienne installation de SSH, revient avec ceci.ps. les autorisations sur le fichier ne sont qu'un accès complet pour moi, et rien d'autre.
la source
DISM
ou à l'aide de l'option Reset (qui a été améliorée pour utiliser le répertoire WinSxS). par rapport à l'originalinstall.esd
) .Vous avez besoin de deux choses:
1) Désactiver l'héritage
2) Convertir les autorisations héritées en autorisations explicites
3) Supprimer le groupe d'utilisateurs
4) Vous vous retrouverez avec aucun utilisateur ne peut accéder aux fichiers privés, cela devrait suffire pour ajouter id_rsa.
la source
J'avais un problème similaire, mais j'étais au travail et je n'ai pas la possibilité de modifier les autorisations de fichiers sur mon ordinateur de travail. Ce que vous devez faire est d’installer WSL puis de copier votre clé dans le répertoire ssh caché dans WSL:
cp <path to your key> ~/.ssh/<name of your key>
Vous devriez maintenant pouvoir modifier les autorisations normalement.
sudo chmod 600 ~/.ssh/<your key's name>
Puis ssh en utilisant WSL:
ssh -i ~/.ssh/<name of your key> <username>@<ip address>
la source
utiliser la commande ci-dessous sur votre clé cela fonctionne sur les fenêtres
la source
Vous pouvez utiliser icacls dans Windows au lieu de chmod pour ajuster l’autorisation du fichier. Pour donner à l'utilisateur actuel la permission de lire et supprimer tout le reste,
la source
Ceci est juste une version scriptée de la réponse CLI de @ JW0914, alors invitez-le en priorité. En outre, il s’agit de mon premier script PowerShell. Les suggestions sont donc les bienvenues.
la source
Une seule ligne dans CMD pourrait faire l'affaire (comme décrit ici: https://serverfault.com/a/883338/550334 ), c'est-à-dire en ajoutant la clé de stdin au lieu de changer les permissons:
Pour vérifier si la clé a été ajoutée:
la source
Utilisez
Mingw-w64
.Infos: http://mingw-w64.org/doku.php
Téléchargez avec Git pour Windows ou directement.
Disponible ici: https://github.com/mirror/mingw-w64
Il a aussi d’autres commandes utiles comme Linux
tar
etgzip
.la source
Je suis un utilisateur de Windows, j'utilise Windows bash et ai suivi toutes les étapes pour définir les autorisations à l'aide de l'interface graphique Windows. Cela ne fonctionne toujours pas et se plaint:
Le j'ai ajouté
sudo
à l'avant de la commande ssh et cela fonctionne. J'espère que cela sera utile aux autres.la source
Answer by iBug fonctionne bien! Vous pouvez suivre cela et vous débarrasser de ce problème.
Mais il n’ya que peu de choses à régler, car j’ai rencontré des problèmes lors de l’établissement des autorisations et il m’a fallu quelques minutes pour comprendre le problème!
Après la réponse d'iBug, vous supprimerez toutes les autorisations, mais comment définissez-vous l'autorisation Contrôle total pour vous-même? c'est là que je me suis retrouvé coincé au début, car je ne savais pas comment faire cela.
Après avoir désactivé l'héritage, vous pourrez supprimer tous les utilisateurs ou groupes autorisés.
Une fois fait avec ça,
Cliquez sur
Add
puis cliquez surSet a Principal
puis entrezSystem
etAdministrators
etyour email addredd
dans le champ en bas puis cliquez surcheck names
.Il va charger le nom si l'utilisateur existe. Ensuite, cliquez sur
OK
> TypeAllow
> Permisisons de baseFull Control
>Okay
Cela configurera l’autorisation Contrôle total sur le système, les administrateurs et votre utilisateur.
Après cela, essayez de ssh en utilisant cette clé. Il devrait être résolu maintenant.
J'ai eu le même problème et j'ai résolu cela en utilisant cette méthode. S'il existe un utilisateur ou un groupe portant ce nom, il sera chargé.
-Captures d'écran-
Entrées d'autorisation Sélectionnez un principal / sélectionnez un utilisateur ou des groupes
la source