Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Pourquoi le message d'erreur « Le serveur a refusé notre clé » s'affiche-t-il lorsque j'essaie de me connecter à mon instance EC2 via SSH ?
Le message d'erreur « Le serveur a refusé notre clé » s'affiche lorsque je me connecte à mon instance Amazon Elastic Compute Cloud (Amazon EC2) via SSH.
Résolution
Le serveur SSH (sshd) peut refuser une clé SSH privée pour l'une des raisons suivantes :
- Vous avez utilisé le fichier de clé privée incorrect lorsque vous avez essayé de vous connecter à votre instance Amazon EC2. Pour résoudre ce problème, consultez la section Pourquoi est-ce que je reçois les erreurs « imported-openssh-key » ou « PuTTY Fatal Error » (Erreur fatale PuTTY) lorsque je me connecte à mon instance Amazon EC2 Linux ?
- Quelqu'un a modifié les paramètres du serveur SSH dans /etc/ssh/sshd_config. Pour résoudre ce problème, consultez la section Comment puis-je utiliser SSH pour accéder à mon instance EC2 après avoir modifié le fichier sshd_config de l’instance ?
- Le système d’exploitation n’a pas pu monter les répertoires personnels /etc/fstab. Pour résoudre ce problème, consultez la section Pourquoi mon instance Linux EC2 passe-t-elle en mode d’urgence lorsque j’essaie de la démarrer ?
- Vous avez utilisé un nom d'utilisateur incorrect pour votre Amazon Machine Image (AMI) lorsque vous vous êtes connecté à votre instance Amazon EC2. Pour obtenir la liste des noms d’utilisateur valides, consultez la section Erreur : Le serveur a refusé notre clé ou Aucune méthode d’authentification prise en charge n’est disponible.
- Quelqu'un a supprimé l'utilisateur du serveur. Pour résoudre ce problème, ajoutez de nouveau l'utilisateur au serveur en tant que nouvel utilisateur.
Vous pouvez également recevoir le message d'erreur Le serveur a refusé notre clé si votre instance rencontre des problèmes d'autorisations ou si un répertoire est manquant dans cette dernière. Pour vérifier les autorisations et les répertoires de votre instance, appliquez l'une des méthodes suivantes.
Utiliser l’EC2 Serial Console
Si vous avez activé l’EC2 Serial Console pour Linux, vous pouvez utiliser la console série pour résoudre les problèmes liés aux types d’instances Nitro pris en charge.
Utilisez Systems Manager pour vous connecter à l'instance et vérifier les autorisations
Prérequis : Installez AWS Systems Manager Agent (SSM Agent). Assurez-vous également que votre configuration est conforme aux prérequis pour Session Manager, une fonctionnalité d'AWS Systems Manager.
Pour utiliser Session Manager afin de dépanner votre instance, procédez comme suit :
-
Ouvrez la console Systems Manager.
-
Pour vous assurer que les fichiers du répertoire personnel disposent des autorisations appropriées, exécutez la commande suivante :
stat /home/ec2-user/ ls -ld /home # Should show drwxr-xr-x (755) ls -ld /home/ec2-user # Should show drwx------ (700) ls -ld /home/ec2-user/.ssh # Should show drwx------ (700) ls -l /home/ec2-user/.ssh/authorized_keys # Should show -rw------- (600)Remarque : Remplacez ec2-user par le nom d'utilisateur correct pour votre AMI.
Dans la sortie, vérifiez l'accès pour vous assurer que votre configuration utilise les autorisations suivantes :
Le répertoire personnel Linux /home Linux doit disposer des autorisations 0755/drwxr-xr-x.
Le répertoire personnel de l'utilisateur /home/ec2-user/ doit disposer des autorisations 0700/drwx------.
L'autorisation de répertoire .ssh /home/ec2-user/.ssh doit disposer des autorisations 0700/drwx------.
L'autorisation de fichier authorized_keys /home/ec2-user/.ssh/authorized_keys doit disposer des autorisations 0600/-rw-------.
Exemple de sortie :File: '/home/ec2-user/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 10301h/66305d Inode: 18322 Links: 3 Access: (0700/drwx------) Uid: ( 500/ec2-user) Gid: ( 500/ec2-user) -
Pour mettre à jour les autorisations de votre configuration, exécutez les commandes suivantes :
sudo chown root:root /home$ sudo chmod 755 /home$ sudo chown ec2-user:ec2-user /home/ec2-user -R sudo chmod 700 /home/ec2-user /home/ec2-user/.ssh sudo chmod 600 /home/ec2-user/.ssh/authorized_keys**Remarque :**Remplacez ** ec2-user ** par le nom d'utilisateur correct pour votre AMI.
Exécuter le dossier d’exploitation AWSSupport-TroubleshootSSH
Pour résoudre automatiquement les problèmes à l'origine des erreurs, exécutez AWSSupport-TroubleshootSSH. Le dossier d'exploitation installe l'outil Amazon EC2Rescue sur l'instance, puis identifie et résout les problèmes qui provoquent des erreurs de connexion à distance lors du protocole SSH. Pour plus d’informations, consultez la section Je reçois des erreurs lorsque j’essaie de me connecter à mon instance EC2 via SSH. Comment utiliser le flux de travail d’automatisation AWSSupport-TroubleshootSSH pour résoudre les problèmes de connexion SSH ?
Utiliser les données utilisateur pour corriger les autorisations sur l’instance
Important : Avant d'arrêter et de démarrer votre instance, effectuez les actions suivantes :
- Créez une sauvegarde de votre volume Amazon Elastic Block Store (Amazon EBS).
Remarque : Si votre instance est sauvegardée par un stockage d'instances ou si ses volumes de stockage d'instances contiennent des données, Amazon EC2 supprime les données lorsque vous arrêtez l'instance. Vous ne pouvez pas modifier la clé SSH avec des données utilisateur si le périphérique racine de votre instance est un volume de stockage d’instance. - Supprimez temporairement l'instance de son groupe Amazon EC2 Auto Scaling lorsque vous avez terminé les étapes de résolution.
Remarque : Si vous arrêtez une instance qui se trouve dans un groupe EC2 Auto Scaling, vous pouvez résilier l'instance en fonction de vos paramètres de protection de la mise à l'échelle horizontale descendante Les instances que vous lancez avec Amazon EMR, AWS CloudFormation ou AWS Elastic Beanstalk peuvent faire partie d'un groupe Auto Scaling. - Définissez le comportement d'arrêt de l'instance** sur **Arrêter pour vous assurer que les instances ne se résilient pas lorsque vous les arrêtez.
- Installez et configurez cloud-init. Pour plus d'informations, consultez la page Configurer SSH et des clés SSH sur le site Web de cloud-init.
Important : Les mises à jour des données utilisateur de votre instance affectent toutes les distributions qui prennent en charge les commandes cloud-init.
Remarque : Lorsque vous arrêtez et démarrez une instance, son adresse IP publique change. Une bonne pratique consiste à utiliser une adresse IP Elastic pour acheminer le trafic externe vers votre instance au lieu d'une adresse IP publique. Si vous utilisez Amazon Route 53, vous devrez peut-être mettre à jour les enregistrements DNS Route 53 lorsque l'adresse IP publique change.
Pour utiliser les données utilisateur afin de résoudre les problèmes liés aux autorisations, procédez comme suit :
-
Ouvrez la console Amazon EC2.
-
Dans le volet de navigation, sélectionnez Instances, puis votre instance.
-
Sélectionnez État de l’instance, puis Arrêter l’instance.
Remarque : Si vous ne pouvez pas sélectionner Arrêter l’instance, cela signifie que l'instance est déjà arrêtée ou que son périphérique racine est un volume de stockage d'instances. -
Sélectionnez Actions, puis Paramètres de l’instance.
-
Sélectionnez Modifier les données utilisateur, puis entrez la commande suivante :
Content-Type: multipart/mixed; boundary="//"MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cloud-config.txt" #cloud-config cloud_final_modules: - [scripts-user, always] --//Content-Type: text/x-shellscript; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="userdata.txt" #!/bin/bash chown root:root /home chmod 755 /home chown ec2-user:ec2-user /home/ec2-user -R chmod 700 /home/ec2-user /home/ec2-user/.ssh chmod 600 /home/ec2-user/.ssh/authorized_keys --//Remarque : Remplacez ec2-user par le nom d'utilisateur correspondant à votre AMI. N'ajoutez pas d'espaces supplémentaires lorsque vous entrez la commande précédente.
-
Sélectionnez Enregistrer.
-
Démarrez l'instance, puis connectez-vous à l'instance via SSH.
Par défaut, la commande user data s'exécute une fois pour chaque instance. Les étapes précédentes modifient le comportement par défaut pour ajouter la clé publique à chaque redémarrage, arrêt ou démarrage de l'instance. Pour rétablir le comportement par défaut, supprimez les commandes de données utilisateur personnalisées. Il est recommandé d'autoriser l'exécution des données utilisateur après le premier démarrage de l'instance. Vous pouvez utiliser l'API ModifyInstanceAttribute pour modifier les données utilisateur d'une instance. Pour restreindre l'accès à l'API ModifyInstanceAttribute, utilisez les politiques de gestion des identités et des accès AWS (AWS IAM).
Informations connexes
Se connecter à votre instance Linux via PuTTY.
Paires de clés Amazon EC2 et instances Amazon EC2
Comment puis-je résoudre les problèmes de connexion à mon instance Linux Amazon EC2 via SSH ?
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 2 ans
- Réponse acceptéedemandé il y a 17 jours
- demandé il y a un an
AWS OFFICIELA mis à jour il y a 9 mois