web-dev-qa-db-fra.com

Raisons possibles de l'expiration du délai lorsque vous tentez d'accéder à une instance EC2

Je ne peux pas SSH dans mon instance - Opération expirée. Quelles pourraient en être les raisons et que puis-je faire pour le résoudre? Le redémarrage prend normalement beaucoup de temps à faire effet et pourrait aggraver les choses

UPDATE: Il ne s'agit pas d'autorisations - je peux me connecter normalement sans problème. Je soupçonne que cela pourrait être dû à des problèmes de mémoire

79
ming yeow

Avez-vous défini un groupe de sécurité approprié pour l'instance? C'est à dire. celui qui permet l’accès de votre réseau au port 22 de l’instance. (Par défaut, tout le trafic est interdit.)

Mise à jour: Ok, pas un problème de groupe de sécurité. Mais le problème persiste-t-il si vous lancez une autre instance à partir de la même AMI et essayez d'y accéder? Peut-être que cette instance EC2 en particulier a échoué de façon aléatoire au hasard - ce n’est que peu de temps que quelque chose comme cela se produise. (Lecture recommandée: Architecting for the Cloud: Best Practices (PDF), un article de Jinesh Varia, évangéliste des services Web chez Amazon. Voir notamment la section intitulée «Concevoir pour échouer et rien n'échouera».)

62
Jonik

J'ai eu le même problème et la solution a été d'ajouter l'adresse IP de mon ordinateur Local à la liste des règles entrantes du groupe de sécurité actif Dans la boîte de dialogue entrante ci-dessous, entrez 22 dans la plage de ports, votre local IP / 32 dans le champ source et laissez «règle tcp personnalisée» dans le menu déroulant. 

enter image description here

83
ted.strauss

Détruire et créer de nouveau

J'avais une zone de disponibilité où je pouvais me connecter et une autre où je ne pouvais pas. Après quelques heures, j'étais tellement frustré que j'ai tout supprimé dans cette zone de disponibilité.

Tout reconstruire, je devais m'assurer de créer TOUT. Cela comprenait:

  • Créez_ VPC
    • CIDR: 10.0.0.0/24
  • Créer Internet Gateway
  • Attacher Internet Gateway toVPC
  • Créer Table de routage
  • Ajouter Route à Table de routage
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • Créer Sous-réseau
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

Il m'a fallu BEAUCOUP de tâtonnements pour obtenir tout cela. J'ai commandé les étapes de la manière la plus efficace, à mon avis, mais vous devrez peut-être les ajuster pour obtenir un élément disponible pour le suivant.

Suggestion

Je ne suggère pas que vous deveniez thermo-nucléaire comme je l'ai fait. J'offre toutes ces informations pour que vous puissiez vérifier ces associations afin de vous assurer que les vôtres sont appropriées.

24
Bruno Bronosky

Cette réponse est pour les gens stupides (comme moi). Le DNS public de votre EC2 peut (va) changer quand il est redémarré. Si vous ne le réalisez pas et tentez de SSH dans votre ancien DNS public, la connexion sera bloquée et expirera. Cela peut vous amener à présumer que quelque chose ne va pas avec votre EC2 ou votre groupe de sécurité ou ... Non, SSH dans le nouveau DNS Et mettez à jour votre fichier ~/.ssh/config s'il le faut!

18
dslosky

Pour vous connecter, utilisez ssh comme ceci:

ssh -i keyname.pem [email protected]

keyname.pem est le nom de votre clé privée, username est le nom d'utilisateur correct pour votre distribution os et xxx.xx.xxx.xx est l'adresse IP publique. 

Quand il expire ou échoue, vérifiez les points suivants:

Groupe de sécurité

Assurez-vous d’avoir une règle entrante pour port TCP 22 et soit tous les ips, soit votre adresse IP. Vous pouvez trouver le groupe de sécurité dans le menu ec2, dans les options d'instance.

Table de routage

Pour un nouveau sous-réseau dans un vpc, vous devez passer à une table de routage qui pointe 0.0.0.0/0 vers la cible de la passerelle Internet. Lorsque vous créez le sous-réseau dans votre vpc, il assigne par défaut la table de routage par défaut, qui n'accepte probablement pas le trafic entrant en provenance d'Internet. Vous pouvez modifier les options de la table de routage dans le menu vpc, puis les sous-réseaux.

IP élastique

Pour une instance dans un vpc, vous devez attribuer une adresse IP élastique publique, et l'associer à l'instance. L'adresse IP privée est inaccessible de l'extérieur. Vous pouvez obtenir une adresse IP élastique dans le menu ec2 (pas dans le menu instance). 

Username

Assurez-vous que vous utilisez le nom d'utilisateur correct} _. Il doit s'agir de l'un des ec2-user ou root ou ubuntu. Essayez-les tous si nécessaire. 

Clé privée

Assurez-vous que vous utilisez la clé privée correcte} _ (celle que vous avez téléchargée ou que vous avez choisie lors du lancement de l'instance). Cela semble évident, mais le copier-coller m'a valu deux fois. 

11
AJcodez

Avez-vous examiné la sortie de la console à partir de l'instance? Vous pouvez le faire via la console AWS (Instances -> Cliquez avec le bouton droit de la souris sur l’instance -> Obtenir le journal système). Il est déjà arrivé que les services réseau sur une instance EC2 ne démarrent pas correctement, ce qui entraîne un dépassement du délai de connexion SSH; le redémarrage de l'instance corrige généralement les problèmes.

7
gareth_bowles

 enter image description here

APRÈS 2 HEURES, JE TROUVE CELLE-CI

Notez que ssh ip 120.138.105.251/32 

  • IS PAS ADRESSE IP de l'instance aws

  • Ce n'est pas votre adresse IP locale 127.0.0.1

  • Ce n'est pas votre adresse IP locale localhost

MAIS MAIS MAIS

Son Votre adresse IP publique de votre ordinateur personnel à partir duquel vous essayez d'accéder à une instance de aws

  1. Allez sur https://www.whatismyip.com/ quelle que soit l'adresse IP indiquée dans ssh

SI VOUS VOULEZ OUVRIR COMPLÈTEMENT SSH À TOUTES LES ADRESSES IP enter image description here

CECI IS LES REGISTRES PLEINEMENT ACCESSIBLES - RECOURS DE BASE enter image description here

CECI IS CE QUE J'UTILISE DANS LA PRODUCTION enter image description here

2
vijay

Il suffit de redémarrer l'instance Ec2 après avoir appliqué les règles

1
Shaz

Les problèmes suivants sont possibles:

  • Le plus probable est que le groupe de sécurité n'est pas configuré correctement pour fournir un accès SSH sur le port 22 à votre i.p. Le changement de paramètre de sécurité ne nécessite pas de redémarrage du serveur pour être efficace, mais il faut attendre quelques minutes pour que ce soit applicable.

  • La configuration du pare-feu local n'autorise pas l'accès SSH au serveur. (vous pouvez essayer une autre connexion internet, votre téléphone/clé pour l'essayer)

  • Le serveur n'est pas démarré correctement (les vérifications d'accès échoueront même sur la console Amazon), auquel cas vous devrez arrêter et redémarrer le serveur. 

1
pradosh nair

Je travaillais sur l'instance et tout allait bien, le lendemain même, lorsque j'ai essayé d'introduire SSH dans mon instance, il était indiqué - Délai de connexion.

J'ai essayé de passer par ce post mais rien n'a fonctionné. Alors j'ai fait -

Sur la colonne Edit inbound rules de la source, choisissez MY IP et votre adresse IP publique sera automatiquement renseignée au format CIDR (XXX.XXX.XXX.XX/32).

J'ai essayé avec la réponse @ ted.strauss en donnant une adresse IP locale, mais cela ne m'a pas aidé. J'ai donc choisi mon adresse IP et cela a fonctionné.

J'espère que cela aide quelqu'un!

0
rbashish

J'avais un problème similaire lorsque j'utilisais le Wifi public, qui n'avait pas de mot de passe. Basculer la connexion Internet sur une connexion sécurisée a résolu le problème.

0
Bharath Ram

Une autre possibilité. Les groupes de sécurité AWS sont configurés pour fonctionner uniquement avec des adresses IP entrantes spécifiques. Si votre groupe de sécurité est configuré de cette manière, vous (ou le titulaire du compte) devrez ajouter votre adresse IP au groupe de sécurité. Pour cela, ouvrez votre tableau de bord AWS, sélectionnez des groupes de sécurité, sélectionnez un groupe de sécurité et cliquez sur l'onglet entrant. Ajoutez ensuite votre adresse IP si nécessaire.

0
LA Ferguson

J'ai eu le même problème et je l'ai résolu en ajoutant une règle aux groupes de sécurité

SSH entrant 0.0.0.0/0

Ou vous pouvez ajouter votre adresse IP uniquement

0
Majali

Si l'accès SSH ne fonctionne pas pour votre instance EC2, vous devez vérifier:

  • Groupe de sécurité pour votre instance est autorise entrant accès SSH (vérifiez: règles d'affichage).

Si vous utilisez une instance de VPC (ID de VPC et ID de sous-réseau attachés à votre instance), vérifiez:

  1. Dans le tableau de bord VPC, recherchez l’ID de sous-réseau utilisé qui est associé à votre VPC.
  2. Vérifiez sa pièce jointe Table de routage qui devrait avoir 0.0.0.0/0 comme destination et votre Internet Gateway _ comme cible.

Sous Linux, vous pouvez également vérifier les informations de route dans Journal système dans Réseau de l'instance, par exemple:

++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
+--------+------+------------------------------+---------------+-------+-------------------+
| Device |  Up  |           Address            |      Mask     | Scope |     Hw-Address    |
+--------+------+------------------------------+---------------+-------+-------------------+
|   lo   | True |          127.0.0.1           |   255.0.0.0   |   .   |         .         |
|  eth0  | True |         172.30.2.226         | 255.255.255.0 |   .   | 0a:70:f3:2f:82:23 |
+--------+------+------------------------------+---------------+-------+-------------------+
++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++
+-------+-------------+------------+---------------+-----------+-------+
| Route | Destination |  Gateway   |    Genmask    | Interface | Flags |
+-------+-------------+------------+---------------+-----------+-------+
|   0   |   0.0.0.0   | 172.30.2.1 |    0.0.0.0    |    eth0   |   UG  |
|   1   |   10.0.3.0  |  0.0.0.0   | 255.255.255.0 |   lxcbr0  |   U   |
|   2   |  172.30.2.0 |  0.0.0.0   | 255.255.255.0 |    eth0   |   U   |
+-------+-------------+------------+---------------+-----------+-------+

UG affiche votre passerelle Internet.

Pour plus de détails, consultez: Dépannage de la connexion à votre instance sur Amazon docs.

0
kenorb

Consultez cette page d'aide sur AWS docs: 

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout .__ Vous y trouverez probablement votre solution. pour moi cette partie a fait le correctif: 

[EC2-VPC] Vérifiez la table de routage du sous-réseau. Vous avez besoin d'un itinéraire qui envoie tout le trafic destiné en dehors du VPC à la passerelle Internet pour le VPC.

  • Ouvrez la console Amazon VPC sur https://console.aws.Amazon.com/vpc/ .

  • Dans le volet de navigation, choisissez Passerelles Internet. Vérifiez qu’une passerelle Internet est connectée à votre VPC. Sinon, choisissez Créer Internet Gateway et suivez les instructions pour créer un Internet passerelle, sélectionnez la passerelle Internet, puis choisissez Attacher à VPC et suivez les instructions pour l’attacher à votre VPC.

  • Dans le volet de navigation, choisissez Sous-réseaux, puis sélectionnez votre sous-réseau.

  • Sur l'onglet Route Table, vérifiez qu'il existe une route avec 0.0.0.0/0 comme destination et la passerelle Internet pour votre VPC en tant que cible. Sinon, choisissez l'ID de la table de routage (rtb-xxxxxxxx) à Accédez à l'onglet Routes du tableau des routes, choisissez Edition, Ajouter une autre route, entrez 0.0.0.0/0 dans Destination, sélectionnez votre Internet passerelle à partir de la cible, puis choisissez Enregistrer.

Mais je vous suggère de vérifier toutes les options que le lien ci-dessus couvre, vous pouvez y trouver le ou les problèmes que vous avez rencontrés. 

0
Meltzer

Mon problème - J'avais le port 22 ouvert pour "Mon IP" et j'ai changé la connexion Internet et l'adresse IP. Donc dû le changer en arrière.

0
smDev

Pour activer l'accès ssh depuis Internet pour les instances d'un sous-réseau VPC, procédez comme suit:

  • Connectez une passerelle Internet à votre VPC.
  • Assurez-vous que la table de routage de votre sous-réseau pointe vers la passerelle Internet.
  • Assurez-vous que les instances de votre sous-réseau ont une adresse IP unique au monde (adresse IPv4 publique, adresse IP Elastic ou adresse IPv6).
  • Assurez-vous que le contrôle d'accès au réseau (au niveau VPC) et les règles de groupe de sécurité (au niveau ec2) permettent au trafic correspondant de circuler vers et depuis votre instance. Assurez-vous que votre adresse IP publique de réseau est activée pour les deux. Par défaut, Network AcL autorise tout le trafic entrant et sortant, sauf s'il est explicitement configuré autrement.
0
Innocent Anigbo

Pour moi, c’est que j’avais tout supprimé du volume de démarrage. Et je ne pouvais plus me connecter à l'instance.

0
t_sologub

J'ai eu le même problème, et la solution permettait l'accès de n'importe où à la liste des règles entrantes dans le groupe de sécurité actif. Dans la boîte de dialogue entrante, entrez 22 dans la plage de ports, n'importe où dans le champ source et sélectionnez "ssh" dans la liste déroulante.

P.S: Cette solution peut ne pas être recommandée car cela signifie que cette instance peut être ssh 'depuis n’importe quelle machine, mais je n’ai pas pu la faire fonctionner avec mon IP locale.

0
Yahya

Pour moi, c'était le serveur Apache hébergé sur une instance t2.micro linux EC2, pas l'instance EC2 elle-même. 

Je l'ai corrigé en faisant: 

Sudo su

service httpd restart

0
Gus

En vous basant sur la réponse de @ted.strauss, vous pouvez sélectionner SSH et MyIP dans le menu déroulant au lieu de naviguer vers un site tiers.

0
Adam J. Gramling