Je ne peux pas me connecter à mon instance Amazon Elastic Compute Cloud (Amazon EC2) à l'aide de SSH et j'ai reçu l'erreur suivante : « Server refused our key ». Comme résoudre ce problème ?

Vous pourriez être incapable de vous connecter à une instance EC2 si :

  • Vous utilisez une clé privée SSH mais que la clé publique correspondante ne figure pas dans le fichier authorized_keys.
  • Vous n'avez pas d'autorisations pour votre fichier authorized_keys.
  • Vous n'avez pas d'autorisations pour le dossier .ssh.
  • Votre fichier authorized_keys ou le dossier .ssh n'est pas nommé correctement.
  • Votre fichier authorized_keys ou dossier .ssh a été supprimé.
  • Votre instance a été lancée sans clé ou lancée avec une clé incorrecte.

Pour vous connecter à votre instance EC2 après avoir reçu l'erreur « Server refused our key », vous pouvez mettre à jour les données utilisateur de l'instance pour ajouter la clé publique SSH au fichier authorized_keys, qui définit les droits de propriété et de fichier appropriés pour le répertoire et les fichiers SSH contenus dans celui-ci.

Avant de commencer la procédure de mise à jour des données utilisateur de votre instance, notez les points suivants :

  • La procédure ne corrige pas le problème si les autorisations sur le répertoire d'accueil sont rompues. Vous devez corriger manuellement les autorisations du répertoire de base.
  • La procédure s'applique à toutes les distributions qui prennent en charge les directives cloud-init. Cloud-init doit être installé et configuré pour que ces instructions aboutissent. Pour plus d'informations sur le module SSH cloud-init, consultez la section Configurer les clés ssh et ssh.
  • Vous devez arrêter votre instance au début de cette procédure. Toutes les données sur les volumes éphémères sont perdues.
  • Vous ne pouvez pas modifier la clé SSH à l'aide de cette procédure si le périphérique racine de votre instance est un volume de stockage d'instance.

Suivez ces étapes pour mettre à jour les données utilisateur de votre instance afin d'ajouter la clé publique SSH spécifiée au fichier authorized_keys :

1.    À partir de la console Amazon EC2, choisissez votre instance.

2.    Sélectionnez Actions, État de l'instance, puis Arrêter. Remarque :Si Arrêter est désactivé, l'instance est déjà arrêtée ou son périphérique racine est un volume de stockage d'instance. Vous ne pouvez pas modifier la clé SSH à l'aide de cette procédure si le périphérique racine de votre instance est un volume de stockage d'instance.

3.    Recherchez la clé publique SSH de l'une des façons suivantes, en fonction du système d'exploitation auquel vous vous connectez :

Linux Exécutez une commande similaire à celle-ci :

# ssh-keygen -y -f /path/to/keypair.pem

Windows Ouvrez PuTTYGen. Ensuite, chargez votre fichier .PEM. La clé publique apparaît dans la boîte intitulée « Public key for pasting into OpenSSH authorized_keys file. »

4.    Notez la clé publique SSH. Vous aurez besoin de la clé publique lors d'une étape ultérieure.

5.    Retournez à la console Amazon EC2 et choisissez votre instance.

6.    Choisissez Actions, puis Paramètres de l'instance et enfin Afficher/Changer les données utilisateur.

7.    Dans la boîte de dialogue Afficher/Changer les données utilisateur, pour Données utilisateur, tapez l'extrait suivant. Remarque : Entrez la clé publique SSH pour renseigner la valeur de ssh-rsa. La valeur doit correspondre exactement à la clé publique, sans espaces ni caractères supplémentaires.

#cloud-config
ssh_deletekeys: false
ssh_authorized_keys:
  - ssh-rsa ENTER YOUR PUBLIC KEY HERE ...
cloud_final_modules:
  - [ssh, always]

8.    Cliquez sur Enregistrer.

9.    Sélectionnez Actions, État de l'instance, puis Début.

Une fois l'instance démarrée, vous pouvez vous connecter avec le nom d'utilisateur. Pour la liste des noms d'utilisateur pour Amazon Linux, RHEL, Ubuntu, CentOS, Fedora et SUSE Amazon Machine Images (AMI), consultez la section Connexion à votre instance Linux. Si ec2-user et root ne fonctionnent pas, renseignez-vous auprès de votre fournisseur AMI.

Remarque : Par défaut, le script de données utilisateur s'exécute une fois par instance. Cette procédure modifie le comportement par défaut pour ajouter la clé publique à chaque redémarrage, arrêt ou démarrage de l'instance. Pour restaurer le comportement par défaut, supprimez les données utilisateur personnalisées. La meilleure pratique consiste à étudier si le fait de permettre l'exécution des données utilisateur après le premier démarrage d'une instance est risqué ou non. Vous pouvez modifier les données utilisateur d'une instance à l'aide de la méthode API ModifyInstanceAttribute. Pour restreindre l'accès à cette méthode, utilisez les stratégies AWS Identity and Access Management (IAM).  


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 26/06/2017

Date de mise à jour : 21/05/2018