Pourquoi est-ce que je reçois des erreurs « imported-openssh-key » ou « Erreur fatale Putty » lors de la connexion à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) ?

Dernière mise à jour : 12/05/2021

Je reçois des erreurs « imported-openssh-key » ou « Erreur fatale Putty » lors de la connexion à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2). Comment les corriger ?

Brève description

Lors de la connexion à mon instance Linux à l'aide de SSH, je reçois une erreur similaire à la suivante :

"Using username "root". Authentication with public key "imported-openssh-key" Please login as the user "ec2-user" rather than the user "root"." (« Utilisation du nom d'utilisateur « root ». Authentification avec la clé publique « importported-openssh-key » Veuillez vous connecter en tant qu'utilisateur « ec2-user » plutôt qu'en tant qu'utilisateur « root ». »)

-ou-

Lors de l'utilisation du client PuTTY, je reçois une erreur semblable à celle-ci :

"PuTTY Fatal Error: Disconnected: No supported authentication methods available (server sent: publickey) OK [« PuTTY Erreur fatale : Déconnecté : Aucune méthode d'authentification prise en charge disponible (serveur envoyé : clé publique) OK]

Ces erreurs peuvent se produire dans les circonstances suivantes :

  • Vous ne vous connectez pas avec le nom d'utilisateur approprié pour l'AMI lorsque vous négociez une session SSH avec une instance EC2.
  • Vous utilisez une clé privée erronée lorsque vous négociez une session SSH avec une instance EC2.

Résolution

Vérifiez que vous vous connectez avec le nom d'utilisateur correct.

Sur votre ordinateur local, vérifiez que vous vous connectez avec un nom d'utilisateur approprié. Pour obtenir la liste complète des noms d'utilisateur appropriés, consultez Résoudre les problèmes de connexion à votre instance.

Vérifiez que la clé privée est correcte.

1.    Ouvrez la console Amazon EC2, puis choisissez Instances.

2.    Recherchez l'instance EC2 à laquelle vous souhaitez vous connecter à l'aide de SSH.

3.    Dans la colonne Nom de la clé, vérifiez le nom de la clé privée que vous utilisez pour vous connecter à l'aide de SSH :

PuTTY

Vérifiez que la clé privée SSH correspond à la clé privée que vous voyez dans la colonne Nom de la clé pour votre instance EC2 dans la console.

Vérifiez que vous avez converti votre fichier de clé privée (.pem) au format reconnu par PuTTY (.ppk). Pour plus d'informations, voir Convertir votre clé privée à l'aide de PuTTYgen.

macOS ou Linux

Exécutez la commande suivante pour vous assurer que vous avez modifié les autorisations sur votre fichier de paires de clés afin que vous seul puissiez l'afficher :

$ chmod 400 my-key-pair.pem

Vérifiez le répertoire et le nom de fichier que vous spécifiez après l'indicateur -i pour vous assurer qu'il s'agit du chemin d'accès correct à votre clé privée, comme indiqué dans l'exemple de commande suivant :

$ ssh -i my-key-pair.pem ec2-user@52.4.XX.XX

Utilisation de la console série EC2

Si vous avez activé la console série EC2 pour Linux, vous pouvez l'utiliser pour résoudre les problèmes liés aux types d'instances Nitro pris en charge. La console série EC2 permet de résoudre les problèmes de démarrage, ainsi que de configuration réseau et SSH. EC2 Serial Console se connecte à votre instance sans qu'aucune connexion réseau ne soit nécessaire. Vous pouvez accéder à EC2 Serial Console à l'aide de la console Amazon EC2 ou de l'interface de ligne de commande AWS (AWS CLI).

Avant d'utiliser EC2 Serial Console, accordez-lui l'accès au niveau du compte. Créez ensuite des stratégies AWS Identity and Access Management (IAM) accordant l'accès à vos utilisateurs IAM. En outre, chaque instance qui utilise la console série doit inclure au moins un utilisateur avec mot de passe. Si votre instance n'est pas accessible et que vous n'avez pas configuré l'accès à EC2 Serial Console, suivez les instructions de la méthode 2, 3 ou 4. Pour en savoir plus sur la configuration de la console série EC2 pour Linux, consultez Configurer l'accès à la console série EC2.

Remarque : en cas d'erreurs lors de l'exécution de commandes depuis AWS CLI, assurez-vous d'utiliser la version d'AWS CLI la plus récente.