228 votes

Permission refusée (publickey). SSH de l'Ubuntu local vers le serveur Amazon EC2

J'ai une instance d'une application fonctionnant dans le nuage sur une instance Amazon EC2, et je dois m'y connecter à partir de mon Ubuntu local. Cela fonctionne bien sur un Ubuntu local et aussi sur un ordinateur portable. J'ai reçu ce message, Permission denied (publickey). lorsque vous essayez de vous connecter en SSH à l'EC2 à partir d'une différents local Ubuntu.

Je pense qu'il peut y avoir des problèmes avec les paramètres de sécurité sur l'Amazon EC2, qui a un accès IP limité à une instance ; ou peut-être qu'un certificat doit être régénéré.

Quelqu'un connaît-il une solution à l'erreur "Permission refusée" ?

12 votes

"Ça marchait avant" -- avant ce que ?

0 votes

J'ai une instance Elastic Beanstalk EC2. En août 2013, la solution était d'accéder à l'instance en tant qu'utilisateur ec2-user, ce qui a fait disparaître l'erreur Permission Denied (publicKey). Viz : ssh -i ./mike-key-pairoregon.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com. Bien sûr, vous devez effectuer toutes les autres opérations, comme indiqué dans le tableau suivant stackoverflow.com/questions/4742478/

4 votes

Vous obtenez ce problème si vous avez spécifié un nom d'utilisateur incorrect. La documentation d'aws ( docs.aws.amazon.com/AWSEC2/latest/UserGuide/ ) donne actuellement un exemple avec le nom d'utilisateur ec2-user [ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com], alors que ma (vieille) boîte ubuntu a un nom d'utilisateur ubuntu, donc quand j'ai utilisé l'exemple j'ai reçu cette erreur, changer pour le nom d'utilisateur correct résout le problème.

1voto

jjnguy Points 62123

La réponse de Greg explique mieux comment résoudre le problème, mais le problème réel est que vous avez une clé ssh définie d'un côté de la transaction (le client), qui tente une authentification par clé publique plutôt qu'une authentification par mot de passe. Comme vous ne disposez pas de la clé publique correspondante sur l'instance EC2, cela ne fonctionnera pas.

2 votes

Comment résoudre ce problème ?

1voto

Ajit Verma Points 11

J'avais le même problème, même si j'étais censé suivre toutes les étapes. y compris

$ ec2-authorize default -p 22

Cependant, j'avais démarré mon instance dans la région us-west-1. Donc la commande ci-dessus devrait également le spécifier.

$ ec2-authorize default -p 22 --region us-west-1

Après cette commande, j'ai pu accéder à l'instance par ssh. J'ai mis un peu de temps avant avant de comprendre le problème et j'espère que ce post aidera les autres.

1voto

chichilatte Points 111

J'ai eu le même problème, et après avoir essayé des tonnes de solutions qui n'ont pas fonctionné, j'ai ouvert le port SSH sur le pare-feu de mon routeur (le panneau de contrôle du pare-feu de mon routeur est en désordre, donc il est difficile de dire ce qui se passe). Quoi qu'il en soit, cela a réglé le problème :)

Super C'est très ennuyeux que l'erreur que vous obtenez soit Permission refusée, ce qui implique qu'il y a eu une sorte de connexion, grr.

0voto

Reese Points 148

C'est un cas rare, mais si vous avez activé selinux et que vous utilisez nfs pour le répertoire avec les authorized_keys (par exemple, les répertoires personnels partagés), vous devrez soit désactiver selinux (non recommandé pour des raisons de sécurité, mais vous pouvez le désactiver temporairement pour voir si cela cause le problème), soit autoriser selinux à utiliser les répertoires personnels nfs. Je ne suis pas sûr des détails, mais cela a fonctionné pour moi. setsebool -P use_nfs_home_dirs 1

0voto

Jacob Tomlinson Points 313

Je viens de rencontrer le même problème après avoir ajouté par inadvertance des droits d'écriture de groupe au répertoire personnel des utilisateurs.

J'ai découvert que c'était la cause en exécutant tail -f /var/log/secure sur la machine et voir l'erreur Authentication refused: bad ownership or modes for directory /home/<username> .

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