Lorsque je me connecte à mon instance Amazon Elastic Compute Cloud (Amazon EC2) via SSH avec un message détaillé activé, je reçois des erreurs telles que Permission denied (Autorisation refusée) ou Connection refused (Connexion refusée). Comment puis-je utiliser le document d’automatisation AWSSupport-TroubleshootSSH pour résoudre les problèmes de connexion SSH ?
Brève description
AWSSupport-TroubleshootSSH installe l’outil Amazon EC2Rescue. Ensuite, il vérifie et corrige certains problèmes à l’origine d’erreurs de connexion à distance lors de la connexion à une machine Linux via le protocole SSH. Exécutez l’automatisation AWSSupport-TroubleshootSSH pour réparer automatiquement les problèmes par sous-réseau, par compartiments S3 ou par rôle IAM.
Configuration requise pour utiliser EC2Rescue pour Linux
EC2Rescue pour Linux nécessite une instance Amazon EC2 Linux répondant aux prérequis suivants :
Systèmes d’exploitation pris en charge
- Amazon Linux 2
- Amazon Linux 2016.09+
- VENTES 12+
- RHEL 7
- Ubuntu 16.04+
Exigences en matière de logiciels
**Remarque :**Pour en savoir plus sur la messagerie détaillée ou la résolution d’autres types de messages d’erreur, consultez Pourquoi ne puis-je pas me connecter à mon instance Amazon EC2 Linux via le protocole SSH ?
Résolution
Avant de commencer :
- Copiez l’instance ID (ID d’instance) de l’instance Amazon EC2 que vous souhaitez dépanner. Vous avez besoin de l’ID d’instance pour exécuter le document d’automatisation.
- (Facultatif) Copiez l’ID d’un sous-réseau dans la même zone de disponibilité que votre instance Amazon EC2 inaccessible. L’instance EC2Rescue s’installe dans ce sous-réseau. Si vous ne spécifiez pas de sous-réseau, le document d’automatisation crée un nouveau VPC temporaire dans votre compte AWS. Vérifiez qu’au moins un VPC est disponible sur votre compte AWS. Par défaut, vous pouvez créer cinq VPC dans une région. Si vous avez déjà créé cinq VPC dans la région, l’automatisation échoue sans modifier votre instance Amazon EC2. Pour plus d’informations, consultez la section VPC et sous-réseaux.
- (Facultatif) Créez et spécifiez un rôle AWS Identity and Access Management (IAM) pour l’automatisation. Si vous ne spécifiez pas ce rôle, AWS Systems Manager Automation utilise les autorisations de l’utilisateur qui exécute ce document. Pour plus d’informations sur la création de rôles pour l’automatisation, voir Utiliser IAM pour configurer des rôles pour l’automatisation.
Exécutez l’automatisation AWSSupport-TroubleshootSSH depuis la console AWS Systems Manager
- Ouvrez la console AWS Systems Manager.
- Dans le volet de navigation, choisissez Automation (Automatisation).
Remarque : Si la page d’accueil d’AWS Systems Manager s’ouvre en premier, choisissez l’icône du menu pour ouvrir le volet de navigation, puis choisissez Automation (Automatisation).
- Choisissez Execute automation (Exécuter l’automatisation).
- Entrez AWSSupport-TroubleshootSSH dans le champ de recherche, puis appuyez sur Entrée.
- Sélectionnez AWSSupport-TroubleshootSSH dans les résultats de recherche.
- Dans la liste des documents, choisissez AWSSupport-TroubleshootSSH. Le propriétaire du document est Amazon.
- Dans la section Description, vérifiez que la Document version (Version du document) est définie sur Default version at runtime (Version par défaut lors de l’exécution).
- Choisissez Next (Suivant).
- Dans la section Execute automation document (Exécuter le document d’automatisation), choisissez Simple execution (Exécution simple).
- Dans la section Input parameters (Paramètres d’entrée), entrez les paramètres suivants :
Pour InstanceID (ID d’instance), spécifiez l’ID de l’instance inaccessible. Pour Action, sélectionnez FixAll (Corriger tout).
Pour AllowOffline (Autoriser la déconnexion), sélectionnez True (Vrai).
Remarque : si ce paramètre est défini sur False (Faux) et que l’instance n’est pas gérée par Systems Manager, l’automatisation échoue.
(Facultatif) Pour SubnetId (ID de sous-réseau), spécifiez un sous-réseau dans un VPC existant dans la même zone de disponibilité que l’instance Amazon EC2 que vous avez spécifiée. Par défaut, Systems Manager crée un nouveau VPC, mais vous pouvez spécifier un sous-réseau dans un VPC existant.
(Facultatif) Pour S3BucketName (Nom compartiment S3), entrez le nom d’un compartiment pour lequel vous avez des autorisations d’écriture. Les journaux de résolution des problèmes sont chargés dans ce compartiment, s’ils sont fournis.
(Facultatif) Pour AutomationAssumeRole (Rôle de l’automatisation), spécifiez le rôle IAM pour cette exécution. Si aucun rôle n’est spécifié, AWS Systems Manager Automation utilise les autorisations de l’utilisateur qui exécute ce document.
- Choisissez Execute (Exécuter).
- Pour surveiller la progression de l’exécution, choisissez l’automatisation en cours d’exécution, puis choisissez l’onglet Steps (Étapes). Lorsque l’exécution est terminée, choisissez l’onglet Descriptions, puis choisissez View output (Afficher la sortie) pour afficher les résultats. Pour afficher le résultat de chaque étape, cliquez sur l’onglet Steps (Étapes), puis sélectionnez View Outputs (Afficher les sorties) à côté d’une étape.
Exécutez l’automatisation AWS Support-TroubleshootSSH à partir de l’interface de ligne de commande AWS (AWS CLI)
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootSSH" --document-version "\$DEFAULT" --parameters '{"InstanceId":["i-0a241ed9caf16f01e"],"Action":["FixAll"],"AllowOffline":["True"],"SubnetId":["SelectedInstanceSubnet"]}' --region us-east-1
Pour plus d’informations sur l’automatisation SSH d’AWSSupport-TroubleshootSSH, consultez la section Remédiation intelligente du RDP et du SSH avec les actions de l’API AWS Systems Manager Automation.