Question Essayer de SSH dans une instance Amazon Ec2 - erreur d'autorisation


C'est probablement une question stupidement simple à certains :)

J'ai créé une nouvelle instance de Linux sur Amazon EC2, et dans le cadre de cela téléchargé le fichier .pem pour me permettre de SSH.

Quand j'ai essayé de ssh avec:

ssh -i myfile.pem <public dns>

J'ai eu:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: amazonec2.pem
Permission denied (publickey).

Suivant ce post J'ai essayé de chmod +600 le fichier pem, mais maintenant quand je ssh je viens d'obtenir:

Permission denied (publickey).

Quelle erreur d'écolier je fais ici?  Le fichier .pem est dans mon dossier personnel (dans osx). Ses autorisations ressemblent à ceci:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

531
2017-11-19 11:35


origine


Réponses:


Le problème est d'avoir un mauvais mod sur le fichier.

Facilement résolu en exécutant -

chmod 400 mykey.pem

Extrait des instructions d'Amazon -

Votre fichier de clé ne doit pas être visible publiquement pour que SSH fonctionne. Utilisez ceci   commande si nécessaire: chmod 400 mykey.pem


1057
2018-05-30 18:23



Vous utilisez probablement le mauvais nom d'utilisateur pour vous connecter:

  • la plupart des images Ubuntu ont un utilisateur ubuntu
  • L'AMI d'Amazon est ec2-user
  • la plupart des images Debian ont soit root ou admin

Pour vous connecter, vous devez ajuster votre commande ssh:

ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host

HTH


247
2017-11-19 16:58



Je sais que c'est très en retard au jeu ... mais cela toujours travaille pour moi:

étape 1

ssh-add ~/.ssh/KEY_PAIR_NAME.pem

étape 2, simplement ssh dans :)

ssh user_name@<instance public dns/ip>

par exemple.

ssh ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

J'espère que cela aide quelqu'un.


54
2017-10-02 11:02



Ok man, la seule chose qui a fonctionné pour moi était:

  1. Modifier les autorisations de la clé

    chmod 400 mykey.pem

  2. Assurez-vous de vous connecter en utilisant ec2-utilisateuret l'adresse ec2-99 ... correcte. L'adresse ec2-99 se trouve en bas de la console aws lorsque vous êtes connecté et que vous voyez votre instance répertoriée

    ssh -i mykey.pem ec2-user@ec2-99-99-99-99.compute-1.amazonaws.com


37
2018-04-10 04:57



Jeter un coup d'œil à Cet article. Vous n'utilisez pas le DNS public mais plutôt le formulaire

ssh -i your.pem root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com

où le nom est visible sur votre panneau AMI


26
2017-11-19 11:43



Modifier l'autorisation pour le fichier de clé avec:

chmod 400 key-file-name.pem

Voir la documentation AWS pour la connexion à l'instance:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#EC2_ConnectToInstance_Linux


14
2017-07-08 20:49



Dans le terminal Mac, faire "chmod 400 xyz.pem" ne m'a pas aidé, il a continué à dire la permission refusée. Pour les utilisateurs d'ubuntu je suggérerais

  1. ssh-add xyz.pem
  2. ssh -i xyz.pem ubuntu@ec2-54-69-172-118.us-west-2.compute.amazonaws.com  (remarquez que l'utilisateur est ubuntu)

6
2018-04-07 03:41