Cette rubrique explique comment résoudre les problèmes d'échec de connexion distante à une instance Linux.
Accès d'urgence : Pour un accès ou une maintenance d'urgence sur une instance Linux, commencez par vous connecter via VNC. Pour plus d'informations, consultez la rubrique Connexion à une instance via VNC.
Causes
Une connexion SSH distante peut échouer pour plusieurs raisons, notamment des problèmes liés au framework de sécurité PAM, aux groupes de sécurité ou à la configuration SSH.
Aucun message d'erreur spécifique
Utiliser l'outil de dépannage en libre-service
L'outil de dépannage en libre-service d'Alibaba Cloud vérifie automatiquement les configurations des groupes de sécurité, le pare-feu interne de l'instance et l'état d'écoute des ports d'application courants. L'outil génère ensuite un rapport de diagnostic clair.
Cliquez sur pour ouvrir la page de dépannage en libre-service et sélectionner la région cible.
Le rapport de diagnostic répertorie les problèmes détectés et leurs détails. Par exemple, il peut indiquer que les règles entrantes pour les ports courants ne sont pas configurées dans le groupe de sécurité. Le rapport détaille également la direction, le protocole (tel que ICMP), le port, la politique (Non autorisé) et l'impact pour chaque problème, et fournit un lien vers une solution suggérée, telle que Modifier les règles du groupe de sécurité.
Si l'outil de dépannage en libre-service ne parvient pas à identifier le problème, suivez les étapes de dépannage manuel ci-dessous.
Dépanner manuellement le problème
Si la connexion distante échoue sans afficher de message d'erreur, procédez comme suit pour résoudre le problème manuellement :
Étape 1 : Tester la connexion distante avec Workbench
Utilisez Workbench, un outil fourni par Alibaba Cloud, pour tester la connexion distante. En cas de problème lors de la connexion distante, Workbench renvoie un message d'erreur spécifique ainsi qu'une solution. Suivez les étapes ci-dessous pour effectuer le test :
Accédez à la console ECS - Instances.
Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.
Cliquez sur l'ID de l'instance cible pour ouvrir sa page de détails, puis cliquez sur Connect.
Dans la boîte de dialogue Remote connection, repérez Workbench et cliquez sur Sign in now.
-
Testez si vous pouvez vous connecter à distance à l'instance.
Workbench remplit automatiquement les informations de base requises pour se connecter à l'instance cible. Vérifiez que les informations sont correctes, saisissez votre nom d'utilisateur et vos identifiants d'authentification, puis tentez de vous connecter. Pour obtenir des instructions sur la connexion à distance à une instance Linux via Workbench, consultez la rubrique Connexion à une instance Linux via Workbench.
Si la connexion échoue toujours, Workbench affiche un message d'erreur et une solution. Suivez les instructions pour résoudre le problème, puis essayez de nouveau de vous connecter via Workbench. Pour les problèmes courants liés à Workbench, consultez la rubrique Problèmes de connexion VNC à une instance.
Si vous parvenez à vous connecter via Workbench, le service SSH de l'instance cible fonctionne correctement. Cela écarte un problème côté serveur SSH. Passez à l'Étape 2 : Vérifier le réseau.
Étape 2 : Vérifier le réseau
Si vous ne parvenez pas à vous connecter à distance à l'instance Linux, commencez par vérifier si le réseau fonctionne correctement.
-
Testez la connexion depuis un ordinateur situé dans un environnement réseau différent, tel qu'un autre segment de réseau ou un autre fournisseur d'accès Internet (FAI), afin de déterminer si le problème provient de votre réseau local ou du côté du serveur.
Si le problème vient de votre réseau local ou de votre FAI, contactez votre équipe informatique locale ou votre FAI pour obtenir une solution.
Si le pilote de la carte réseau est défectueux, réinstallez-le.
-
Depuis votre client local, utilisez la commande ping pour tester la connectivité réseau vers l'instance.
Si vous détectez une anomalie réseau, effectuez une capture de paquets pour analyse. Pour plus d'informations, consultez la rubrique Utilisation d'un outil de capture de paquets.
Si les requêtes ping expirent ou si des paquets sont perdus, utilisez un outil tel que
tracertoumtrpour effectuer une analyse du lien et identifier la source du problème. Pour plus d'informations, consultez la rubrique Utilisation de MTR pour l'analyse des liens réseau.-
Si ping n'est pas désactivé dans le noyau du système mais que votre test ping vers l'instance ECS échoue, il est possible que le pare-feu interne du serveur bloque les paquets provenant de votre client.
Pour plus d'informations, consultez la rubrique Dépannage d'un échec de ping vers l'adresse IP publique d'une instance ECS.
Étape 3 : Vérifier le port et le groupe de sécurité
Vérifiez si la configuration du groupe de sécurité autorise le trafic sur le port de connexion distante.
Accédez à la console ECS - Instances.
Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.
Sur la page Instances, cliquez sur l'ID de l'instance cible.
Sous l'onglet Security Groups, repérez le groupe de sécurité et cliquez sur Manage Rules dans la colonne Actions.
-
Sur la page Security Group Details, dans la section Access Rules, sous l'onglet Inbound, cliquez sur Add Rule et ajoutez une règle avec les paramètres suivants.
Action: Allow
Priority: 1 (Une valeur plus faible indique une priorité plus élevée. 1 correspond à la priorité la plus haute.)
Protocol: Custom TCP
Source : Définissez cette valeur sur votre adresse IP locale. Vous pouvez visiter le site https://cip.cc/ pour obtenir votre adresse IP.
Destination : Sélectionnez SSH(22).
-
Utilisez la commande suivante pour tester le port.
telnet [$IP] [$Port]Remarque[$IP] fait référence à l'adresse IP de l'instance Linux.
[$Port] fait référence au numéro de port SSH de l'instance Linux.
Par exemple, si vous exécutez la commande
telnet 192.168.0.1 22, une réponse réussie ressemble à ce qui suit.Trying 192.168.0.1 ... Connected to 192.168.0.1. Escape character is '^]'Si le test de port échoue, consultez la rubrique Dépannage des échecs de port lorsqu'une instance ECS répond au ping.
Étape 4 : Vérifier la charge CPU, la bande passante et la mémoire
Les échecs de connexion distante peuvent être causés par une charge CPU élevée, une bande passante publique insuffisante ou un manque de mémoire.
-
Vérifiez si la charge CPU est élevée.
-
La charge CPU est élevée.
Une charge CPU élevée est attendue si votre application effectue des accès intensifs au disque, au réseau ou nécessite une puissance de calcul importante. Pour résoudre ce goulot d'étranglement des ressources, mettez à niveau le type d'instance. Pour plus d'informations, consultez la rubrique Présentation des modifications de configuration des instances.
RemarquePour plus d'informations sur la résolution d'une charge CPU élevée, consultez la rubrique Interrogation et analyse de la charge CPU sur les systèmes Linux.
RemarqueVérifier les infections virales : Si l'utilisation des ressources CPU reste anormalement élevée après avoir exclu les activités normales de l'application, l'instance est peut-être infectée par un virus de minage. Les logiciels malveillants de minage consomment malicieusement des ressources telles que le CPU, ce qui ralentit l'instance, retarde les réponses et, dans les cas graves, la rend inaccessible. Pour le dépannage et la protection, consultez la rubrique Guide de traitement et de prévention des virus de minage. Si l'instance est infectée par un rançongiciel, les fichiers système peuvent être chiffrés et verrouillés, ce qui peut également vous empêcher de vous connecter. Pour plus d'informations, consultez la rubrique Guide pour renforcer la protection des instances contre les rançongiciels.
Si la charge CPU n'est pas élevée, passez à l'étape suivante.
-
-
Vérifiez si la bande passante publique est insuffisante.
Une connexion distante peut échouer en raison d'une bande passante publique insuffisante. Suivez les étapes ci-dessous pour vérifier la bande passante.
Accédez à la console ECS - Instances.
Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.
-
Dans la liste des instances, cliquez sur l'ID de l'instance correspondante. Dans la section Configuration Information, vérifiez la public bandwidth.
Si la bande passante publique est de 0 Mbit/s, l'instance ne dispose d'aucune allocation de bande passante publique. Pour corriger cela, augmentez la bande passante. Pour plus d'informations, consultez la rubrique Modification de la bande passante publique maximale.
-
Vérifiez si la mémoire est insuffisante.
Après vous être connecté à distance à une instance Linux, le bureau peut ne pas s'afficher et la connexion se fermer immédiatement sans message d'erreur. Un manque de mémoire peut provoquer ce problème. Suivez les étapes ci-dessous pour vérifier l'utilisation de la mémoire.
-
Connectez-vous à l'instance Linux via VNC.
Pour plus d'informations, consultez la rubrique Connexion à une instance Linux par authentification par mot de passe.
Vérifiez l'utilisation de la mémoire. Si la mémoire est insuffisante, nous vous recommandons de mettre à niveau le type d'instance pour résoudre le goulot d'étranglement des ressources. Pour plus d'informations, consultez la rubrique Présentation des modifications de configuration des instances.
-
Un message d'erreur spécifique est renvoyé
Lorsqu'une connexion distante échoue, le système renvoie généralement un message d'erreur. Utilisez ce message pour identifier la cause et trouver une solution.
Framework de sécurité PAM
Le framework de sécurité Pluggable Authentication Modules (PAM) sous Linux permet de charger des modules de sécurité pour contrôler l'accès aux comptes et les politiques de connexion sur l'instance. Des configurations PAM incorrectes ou le déclenchement d'une politique peuvent entraîner l'échec de la connexion SSH. Voici quelques exemples courants :
Environnement système Linux
Des problèmes dans l'environnement système Linux, tels qu'une infection virale, une configuration de compte incorrecte ou des problèmes de variables d'environnement, peuvent également provoquer des échecs de connexion SSH. Cas courants :
Erreur « main process exited, code=exited » au démarrage du service SSH
Exception système après connexion SSH à une instance Linux en raison des restrictions ulimit
Erreur lors de l'utilisation de la commande SSH pour se connecter à une instance ECS Linux
Exception de connexion SSH distante sur une instance Linux car le service SELinux est activé
Configuration du service SSH et des paramètres
Le fichier de configuration par défaut du service SSH est /etc/ssh/sshd_config. Des paramètres incorrects ou l'activation de certaines fonctionnalités ou politiques dans ce fichier peuvent également entraîner l'échec de la connexion SSH. Cas courants :
Erreur « Too many authentication failures for root » lors de la connexion SSH à une instance
Erreur « error while loading shared libraries » au démarrage du service SSH
Erreur « fatal: Cannot bind any address » au démarrage du service SSH sur une instance ECS Linux
Erreur « Bad configuration options » au démarrage du service SSH
Ralentissement de la connexion SSH ou de la transmission des données car UseDNS est activé pour SSH
Configuration des répertoires et fichiers SSH
Pour des raisons de sécurité, le service SSH vérifie les autorisations et la propriété (utilisateur et groupe) des répertoires et fichiers associés lors de l'exécution. Des autorisations trop permissives ou trop restrictives peuvent provoquer des exceptions de service et entraîner des échecs de connexion client. Cas courants :
Configuration des clés SSH
Le service SSH utilise un chiffrement asymétrique pour chiffrer les données transmises. Le client et le serveur échangent et valident les informations de clé. Un cas courant est le suivant :
Erreur « Host key verification failed » lors de la connexion SSH à une instance ECS