339 votes

Windows SSH : Les permissions pour 'private-key' sont trop ouvertes

J'ai installé OpenSSH 7.6 sous Windows 7 à des fins de test. Le client et le serveur SSH fonctionnent parfaitement jusqu'à ce que j'essaie d'accéder à une de mes boîtes AWS EC2 à partir de ce Windows.

Il semble que je doive changer la permission sur le fichier de la clé privée. Cela peut être fait facilement sur unix/linux avec chmod commandement.

Et pour Windows ?

private-key.ppm est copié directement d'AWS et je suppose que la permission aussi.

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:\>

0 votes

Avez-vous essayé de modifier l'ACL ?

3 votes

Votre clé privée se trouve-t-elle réellement dans C:\le chemin de la racine ? Je comprends pourquoi il se plaint, car les éléments se trouvant dans C:\ sont généralement accessibles à tous. Avez-vous essayé de la déplacer dans un dossier auquel vous seul, en tant qu'utilisateur, avez accès (ex. C:\Users\username\desktop ) et voir si le message apparaît toujours ?

0 votes

@Darius, oui c'est le cas. Lorsque vous copiez un fichier d'unix/linux vers Windows, la permission est également copiée. J'ai besoin de changer cela mais je ne sais pas comment le faire sous Windows. Cela peut être fait facilement sur unix/linux avec la commande chmod.

1voto

majom Points 111

Une seule ligne dans CMD pourrait faire l'affaire ; comme décrit ci-dessous ici en ajoutant la clé de stdin au lieu de modifier les permissions :

cat /path/to/permission_file | ssh-add -k 

Pour vérifier que la clé a été ajoutée :

ssh-add -l

1voto

Ubuntu rookie Points 33

Je n'ai pu obtenir aucune de ces réponses en raison de problèmes d'autorisation, je vais donc partager ma solution :

  1. Aller à %UserProfile%\.ssh
  2. Copier et coller id_rsa , renommez-le en quelque chose d'autre [ example ]
  3. Ouvrez le fichier renommé [ example ] et remplacez la clé par votre propre clé privée
  4. cd dans ce répertoire
  5. Entrez votre phrase de passe après l'émission : ssh -i example example@127.0.0.1

1voto

Louis Waweru Points 22588

Voici comment le faire en utilisant l'outil de Microsoft, en évitant le problème dès le départ. Mais cela devrait également résoudre le problème, ce qui signifie que vous pouvez suivre ces instructions avec des clés existantes.

Démarrez PowerShell/Terminal en tant qu'administrateur et exécutez ce qui suit :

Install-Module -Force OpenSSHUtils -Scope AllUsers

# Make sure the service isn't disabled
Get-Service -Name ssh-agent | Set-Service -StartupType Manual

# We need this service as ssh-add depends on it
Start-Service ssh-agent

cat ~\.ssh\example-key.ecdsa | ssh-add -k -

0voto

ganxiyun Points 1
  1. Téléchargez et décompressez OpenSSH-Win64.zip (ou Win32, selon votre système)
  2. Exécuter FixUserFilePermissions.ps1 dans PowerShell avec des privilèges d'administrateur

-1voto

Dallas Clarke Points 99

Utilisez Mingw-w64 .

Infos : http://mingw-w64.org/doku.php

Télécharger avec Git pour Windows, ou directement.

Disponible ici : https://github.com/mirror/mingw-w64

git clone https://github.com/mirror/mingw-w64

Il contient également d'autres commandes Linux utiles comme tar et gzip .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X