Comment résoudre les problèmes d'accès à mon instance EC2 à l'aide d'une connexion SSH via un hôte bastion ?

Dernière mise à jour : 2021-01-04

Je rencontre des difficultés à me connecter à mon instance Amazon Elastic Compute Cloud (Amazon EC2) à l'aide d'une connexion SSH via un hôte bastion. Comment puis-je résoudre ce problème ?

Brève description

Pour résoudre les problèmes de connexion via SSH à l'aide d'un hôte bastion, procédez comme suit :

  1. Configurez le transfert d'agent à des fins de dépannage afin de dépanner séparément la connexion SSH entre les éléments suivants :
    Votre machine locale et l'hôte bastion.
    L'hôte bastion et votre instance EC2.
  2. Suivez les étapes de la section Comment résoudre les problèmes de connexion à mon instance Amazon EC2 Linux à l'aide de SSH ? pour dépanner la connexion SSH entre votre machine locale et l'hôte bastion, et entre l'hôte bastion et votre instance EC2.

Résolution

1.    Ajoutez une ou plusieurs clés privées de votre instance EC2 et de votre hôte bastion à ssh-agent sur votre ordinateur local. Dans l'exemple de commande suivant, remplacez private-key.pem par le nom de votre clé privée.

ssh-add private-key.pem

Exécutez la commande suivante pour vérifier que les clés sont disponibles pour ssh-agent :

ssh-add -L

2.    Exécutez la commande suivante pour vous connecter à l'hôte bastion à l'aide de l'option -A avec la messagerie verbeuse activée. Dans l'exemple de commande suivant, remplacez ec2-user par votre nom d'utilisateur. Remplacez 192.0.2.0 par l'adresse IP publique appropriée pour votre hôte bastion. Vous pouvez également utiliser l'entrée DNS publique au lieu de l'adresse IP publique.

ssh -v –A ec2-user@192.0.2.0

Important : L'option -A permet le transfert de l'agent ssh-agent. Le transfert d'agent doit être utilisé uniquement pour le dépannage. Le transfert permet à l'agent ssh-agent local de répondre au défi de la clé publique, notamment lorsque vous vous connectez de votre hôte bastion à votre instance EC2. Lorsque vous configurez le transfert d'agent, un fichier socket est créé sur l'hôte bastion. Le fichier socket agit comme mécanisme qui transmet la clé à votre instance EC2. Un autre utilisateur de l'hôte bastion ayant la possibilité de modifier des fichiers pourrait utiliser cette clé pour s'authentifier comme vous. Lorsque vous vous connectez régulièrement à votre instance à l'aide d'un hôte bastion (en dehors du dépannage), utilisez ProxyCommand ou une méthode similaire.

3.    Après la connexion à l'hôte bastion, exécutez la commande suivante pour vous connecter à votre instance EC2 à l'aide de SSH avec messagerie en mode verbeux activé. Dans l'exemple de commande suivant, remplacez ec2-user par votre nom d'utilisateur. Remplacez 192.0.2.0 par l'adresse IP publique appropriée pour votre hôte bastion. Vous pouvez également utiliser l'entrée DNS publique au lieu de l'adresse IP publique.

ssh -v ec2-user@192.0.2.0

Remarque : Vous n'avez pas besoin de fournir explicitement une clé dans les deux commandes précédentes. L'agent ssh-essaie séquentiellement toutes les clés chargées dans l'agent jusqu'à ce qu'elles réussissent. Les instances arrêtent la connexion après cinq tentatives de connexion ayant échoué. Par conséquent, assurez-vous que l'agent dispose de cinq clés ou moins. Chaque administrateur doit avoir une clé, ce qui est rarement un problème pour la plupart des déploiements. Pour plus de détails sur la gestion des clés dans ssh-agent, exécutez la commande man ssh-agent.

Dépannage de la connexion de votre machine locale à l'hôte bastion

Si vous rencontrez des problèmes de connexion à l'hôte bastion à partir de votre machine locale (étape 2), procédez comme suit :

  • Vérifiez que vous avez correctement ajouté la clé privée de l'hôte bastion à l'agent SSH sur votre machine locale. Cette procédure est illustrée à l'étape 1.
  • Vérifiez que ssh-add -L renvoie cinq clés ou moins.

Si vous ne parvenez toujours pas à vous connecter à l'hôte bastion, reportez-vous à l'étape 2 de la section Comment résoudre les problèmes de connexion à mon instance Linux Amazon EC2 à l'aide de SSH ?

Dépannage de la connexion entre l'hôte bastion et votre instance EC2

Si vous rencontrez des problèmes de connexion à votre instance EC2 à partir de l'hôte bastion (étape 3), procédez comme suit :

  • Vérifiez que vous avez correctement ajouté la clé privée de votre instance EC2 à l'agent SSH sur votre ordinateur local. Vous devrez peut-être vérifier ceci si la clé est différente de la clé privée de votre hôte bastion.
  • Vérifiez que ssh-add -L renvoie cinq clés ou moins.

Si vous ne parvenez toujours pas à vous connecter à votre instance EC2 à partir de l'hôte bastion, utilisez les messages de sortie du client SSH pour résoudre les problèmes. Pour plus d'informations, consultez l'étape 2 de la section Comment résoudre les problèmes de connexion à mon instance Linux Amazon EC2 à l'aide de SSH ?


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?