AVERTISSEMENT: NON PROTÉGÉE DU FICHIER DE CLÉ PRIVÉE! lorsque vous essayez de SSH en Instance Amazon EC2
Je suis en train de mettre en place de Panda sur une instance Amazon EC2.
J'ai créé mon compte et outils de la nuit dernière et n'avait pas de problème à l'aide de SSH pour interagir avec mon propre exemple, mais pour l'instant je ne suis pas en train admis autorisation en Panda de l'instance EC2.
Mise en route avec Panda
J'obtiens l'erreur suivante:
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
J'ai chmodé ma paire de clés à 600 pour rentrer dans mon exemple la nuit dernière, et expérimenté à la longueur de réglage des permissions à 0 et même de générer de nouvelles clés des chaînes, mais rien ne semble fonctionner.
Un peu d'aide serait d'une grande aide!
Hm, il me semble que, à moins que les autorisations sont définies à 777 sur le répertoire, l'ec2-run-instances script est impossible de trouver mon keyfiles.
Je suis nouveau sur SSH, donc j'ai peut-être oublié quelque chose.
- ec2-run-instances ne nécessite qu'une paire de clés nom, qui est quelque chose qui vit sur Amazon côté. Vous devez être à l'aide de votre clé privée (l'un sur le disque) lorsque vous SSH en. Quelle erreur avez-vous de l'ec2-run-instances?
- terrible titre pour cette question.
- n'hésitez pas à modifier, c'est la façon dont nous faisons les choses mieux ici
- Êtes-vous sûr que vous la définissez à 0600 (octal), et non pas 600 (décimal)?
chmod 400 ~/.ssh/id_rsa
Référence: stackoverflow.com/a/9270753/2082569
Vous devez vous connecter pour publier un commentaire.
Et ce est la façon dont il est censé être.
De la EC2 documentation nous avons "Si vous êtes à l'utilisation d'OpenSSH (ou de tout raisonnablement paranoïaque client SSH), alors vous aurez probablement besoin de définir les permissions de ce fichier afin qu'il ne soit lisible que par vous." Le Panda de la documentation que vous lier des liens vers Amazon de la documentation, mais n'a pas vraiment d'exprimer comment important c'est.
L'idée est que la paire de clés fichiers sont comme des mots de passe qui doivent être protégés. Ainsi, le client ssh que vous utilisez, il faut que ces fichiers soient sécurisés et que seul votre compte peut les lire.
Paramètre le répertoire de 700 vraiment devrait être suffisant, mais 777 n'est pas te faire de mal, tant que les dossiers sont de 600.
Tous les problèmes que vous rencontrez sont côté client, donc assurez-vous d'inclure les informations OS avec un suivi des questions!
chmod 700 filenmane.pem
travaillé, merciAssurez-vous que le répertoire contenant les fichiers de clés privées est fixé à 700
Pour résoudre ce problème, 1), vous aurez besoin de réinitialiser les autorisations par défaut:
sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub
Si vous obtenez un autre message d'erreur:
Êtes-vous sûr de vouloir continuer à connecter (oui/non)? oui
Échec de l'ajout de l'hôte à la liste des hôtes connus (/home/geek/.ssh/known_hosts).
2) Cela signifie que les permissions sur ce fichier sont également définies de manière incorrecte, et peut être ajusté avec ce:
sudo chmod 644 ~/.ssh/known_hosts
3) Enfin, vous devrez peut-être ajuster les autorisations de répertoire ainsi:
sudo chmod 755 ~/.ssh
Cela devrait vous remettre en place et en cours d'exécution.
Le fichier de clé privée doit être protégée. Dans mon cas, j'ai été en utilisant le public_key d'authentification pour un long moment et je l'ai utilisé pour définir l'autorisation 600 (rw- --- ---) pour la clé privée et de 644 (rw - r-- r--) et pour la .ssh dossier dans le dossier de base, vous aurez 700 autorisation (rwx --- ---). Pour le réglage, passez à la le dossier accueil de l'utilisateur et exécutez la commande suivante
Définir la 700 permission pour .ssh dossier
Définir la 600 l'autorisation pour le fichier de clé privée
Définir 644 l'autorisation pour le fichier de clé publique
J'ai aussi eu le même problème, mais je résoudre ce problème en modifiant mon fichier de clé d'autorisation de 600.
sudo chmod 600 /path/to/my/key.pem
Lien : http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/
Garder votre clé privée, clé publique, known_hosts dans le même répertoire et essayez de vous connecter ci-dessous:
cd /Users/prince/Desktop
.Maintenant, tapez
ls
commandeet vous devriez voir
**.pem **.ppk known_hosts
Remarque: vous devez Vous essayez de vous connecter à partir du même répertoire ou vous aurez une erreur permission denied comme il ne peut pas trouver la .pem fichier à partir de votre répertoire.
Si vous voulez être en mesure de SSH depuis n'importe quel répertoire, vous pouvez ajouter ce qui suit à vous
~/.ssh/config
fichier...Maintenant, vous pouvez utiliser le protocole SSH à votre serveur, indépendamment de l'endroit où le répertoire est en tapant simplement
ssh your.server
(ou tout autre nom que vous placer après "l'Hôte").Sur windows, Essayez d'utiliser git bash et l'utilisation de vos commandes Linux là. Facile d'approche
Je pense à autre chose, si vous tentez de vous connecter avec un autre nom d'utilisateur qui n'existe pas, c'est le message que vous obtiendrez.
Donc je suppose que vous tentez peut-être de faire du ssh avec ec2-utilisateur, mais je me souviens à récemment, la plupart de centos AMIs, par exemple, à l'aide de centos utilisateur au lieu de l'ec2-utilisateur
donc, si vous êtes
ssh -i file.pem centos@public_IP
s'il vous plaît dites-moi, vous aretrying de ssh avec le bon nom d'utilisateur, sinon cela peut être une bonne raison de vous voyez ce message d'erreur même avec les bonnes permissions sur votre ~/.ssh/id_rsa ou d'un fichier.pemJuste une note pour toute personne qui tombe sur ceci:
Si vous essayez de faire du SSH avec une clé qui a été partagé avec vous, par exemple:
ssh -i /path/to/keyfile.pem user@some-host
Où
keyfile.pem
est la clé privée/publique partagée avec vous et vous l'utilisez pour vous connecter, assurez-vous de l'enregistrer dans~/.ssh/
etchmod 777
.D'essayer de les utiliser lorsque le fichier a été enregistré ailleurs sur ma machine était de donner l'OP de l'erreur. Vous ne savez pas si elle est directement liée.
Changer les permissions du Fichier à l'aide de commande chmod
La solution est de le rendre lisible uniquement par le propriétaire du fichier, c'est à dire les deux derniers chiffres de l'octal mode de représentation doit être égal à zéro (par exemple le mode
0400
).OpenSSH vérifie ce dans
authfile.c
, dans une fonction nomméesshkey_perm_ok
:Voir la première ligne après le commentaire: il fait un "bit à bit et" contre le mode du fichier, en sélectionnant tous les bits dans les deux dernières octale (depuis
07
est octal pour0b111
, où chaque bit représente r/w/x, respectivement).