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.

0voto

Meir Gabay Points 111

TL;DR - assurez-vous d'utiliser le nom d'utilisateur correct - ubuntu/ec2-user/etc.

J'utilise un bastion-host (ec2) qui est Amazon Linux OS, ( ec2-user ), et j'ai essayé de passer du bastion-host à un private-host (ec2) qui est Ubuntu 18.04 OS ( ubuntu )

Cela peut sembler bizarre puisque vous devez connaître le nom d'utilisateur de la machine à laquelle vous vous connectez en SSH, mais comme je me connecte en SSH à plusieurs machines, il m'arrive de faire ce genre d'erreur.

0voto

cellepo Points 125

Si votre .ssh dir a plus d'une clé (ex : un id_rsa.pub et un id_ed25519.pub ), essayez de vous assurer que vous exécutez ssh avec le <correct_key_file> en ajoutant explicitement son chemin d'accès en tant qu'argument (et tant que vous y êtes, vous pouvez aussi passer explicitement la commande <correct_username> aussi) :

ssh -i ~/.ssh/<correct_key_file> <correct_username>@<host_server_address>

Les valeurs par défaut qui sont utilisées sans être explicitement spécifiées peuvent ne pas être correctes.

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