3
votes

Impossible de SSH dans l'instance AWS EC2

Je ne parviens pas à SSH dans mes instances EC2. J'obtiens une erreur de délai d'expiration. J'ai vérifié les groupes de sécurité pour m'assurer que le trafic SSH fonctionne. J'ai vérifié les tables de routage et m'assuré qu'elles sont connectées à une passerelle Internet. J'ai pu SSH dans les instances il y a à peine une heure, mais plus maintenant. Je me connecte via Putty. J'ai eu le même problème de délai de connexion avant d'utiliser ec2-user @ domain que j'ai résolu en entrant simplement l'adresse IP dans le champ du nom d'hôte dans Putty. À ce stade, j'ai pu me connecter sans problème. J'ai ensuite créé une autre instance EC2 et maintenant je ne peux pas me connecter à l'une ou l'autre instance. J'ai le fichier .ppk correctement référencé dans ma configuration Putty. J'ai essayé de me connecter avec un mac et d'y copier le fichier .pem. Y a-t-il autre chose que je puisse vérifier? Aussi, pourquoi ne pourrais-je pas taper ec2-user @ domain dans le champ de connexion dans putty comme les directions l'indiquent. Y a-t-il un problème avec mon environnement AWS?


3 commentaires

Êtes-vous en train d'accorder l'accès au port 22 par adresse IP dans votre groupe de sécurité? Si oui, vérifiez si votre adresse IP externe locale a changé?


Le délai de connexion pendant SSH n'est pas un problème d'instance. Il est généralement lié au groupe de sécurité ou au nom de domaine de votre instance. Pour info, le nom de domaine change si vous redémarrez votre instance et que vous n'avez pas d'adresse IP élastique. Je suggérerais de vérifier à nouveau le groupe de sécurité associé à votre instance pour configurer SSH en sélectionnant «Mon IP» dans le menu déroulant. Reportez-vous à ce lien pour le nom d'utilisateur par défaut des instances EC2.


J'autorise les connexions SSH à partir de toutes les adresses IP du groupe de sécurité. J'ai soumis un ticket avec AWS car j'ai vu que d'autres personnes avaient des problèmes avec des comptes réactivés que le mien.


3 Réponses :


6
votes

La meilleure façon de diagnostiquer un problème SSH est de lancer une nouvelle instance dans le même sous-réseau, en utilisant le même groupe de sécurité . Si cela fonctionne, le problème est lié à l'instance d'origine.

Le fait que vous recevez une erreur de délai d'expiration indique que votre client SSH n'a pas pu accéder à l'instance. L'instance ne rejette pas la connexion (par exemple à cause d'une paire de clés), c'est le fait que l'instance ne peut pas être atteinte.

Choses à vérifier:

  • Confirmez que l'adresse IP publique est toujours actuelle (elle peut la modifier, l'instance est arrêtée et démarrée)
  • Confirmez que l'instance est dans un sous-réseau public, ce qui signifie un sous-réseau qui a une table de routage pointant vers une passerelle Internet
  • Confirmez que le groupe de sécurité autorise le trafic SSH entrant (port 22) à partir de votre adresse IP (ou même 0.0.0.0/0 à des fins de test)
  • Conservez les NACL aux paramètres par défaut, sauf si vous les comprenez profondément
  • Assurez-vous que l'instance est une instance Linux (Windows n'a pas activé SSH)
  • Essayez-le à partir d'un autre réseau (par exemple à la maison, au bureau, connecté via votre téléphone), car certains réseaux d'entreprise bloquent les connexions SSH

Comme autre test, vous souhaiterez peut-être créer temporairement un autre VPC. Utilisez l'assistant VPC pour créer un VPC avec un seul sous-réseau public. Lancez une instance et confirmez que vous pouvez utiliser SSH dans l'instance.


0 commentaires

1
votes

Ce problème était un problème de compte. J'avais réactivé mon ancien compte, mais il était toujours signalé comme `` isolé '' dans AWS. J'avais accès à la console AWS, mais je ne pouvais rien utiliser en SSH. En tant qu'utilisateur, il n'y a aucun moyen de voir cela vous-même. J'ai dû publier sur les forums des développeurs AWS où un développeur AWS a pu voir que mon compte était `` isolé '' et a soumis un ticket en mon nom. Je peux maintenant utiliser SSH dans mon instance EC2 sans problème.


1 commentaires

Ce problème me rendait fou, merci d'avoir publié votre solution ici. Je peux confirmer que j'ai eu exactement le même problème et qu'Amazon a pu le résoudre lorsque j'ai soumis un cas.



0
votes

Si vous avez implémenté les autres solutions sur ce fil et qu'elles ne résolvent toujours pas votre problème de délai d'expiration, voici quelque chose qui a fonctionné pour moi:

Modifiez simplement votre table de routage publique (qui doit être associée au sous-réseau où se trouve votre instance EC2). Ajoutez une règle sortante pour autoriser tout le trafic TCP sur les ports 1024-65535 .

J'ai appris cela dans un cours ACloudGuru AWS (architecte de solutions certifié, niveau associé) - l'idée de base est que lorsque vous vous connectez initialement au port 22, votre session sera déplacée vers un " port éphémère "(entre 1024-65535 sur l'instance elle-même) qui n'est utilisé que pendant la durée de votre session. Lorsque votre session est terminée, le port redeviendra libre. Cela permet aux nouvelles connexions entrantes au port 22 de l'instance d'être traduites en sessions. L'objectif principal est de permettre à une instance de servir simultanément plusieurs connexions SSH entrantes.


0 commentaires