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
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».)
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.
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:
CIDR: 10.0.0.0/24
Destination: 0.0.0.0/0
Target: <Internet Gateway from earlier>
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.
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.
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!
Pour vous connecter, utilisez ssh comme ceci:
ssh -i keyname.pem [email protected]
Où 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:
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.
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.
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).
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.
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.
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.
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
SI VOUS VOULEZ OUVRIR COMPLÈTEMENT SSH À TOUTES LES ADRESSES IP
CECI IS LES REGISTRES PLEINEMENT ACCESSIBLES - RECOURS DE BASE
Il suffit de redémarrer l'instance Ec2 après avoir appliqué les règles
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.
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!
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.
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.
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
Si l'accès SSH ne fonctionne pas pour votre instance EC2, vous devez vérifier:
Si vous utilisez une instance de VPC (ID de VPC et ID de sous-réseau attachés à votre instance), vérifiez:
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 |
+-------+-------------+------------+---------------+-----------+-------+
où UG
affiche votre passerelle Internet.
Pour plus de détails, consultez: Dépannage de la connexion à votre instance sur Amazon docs.
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.
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.
Pour activer l'accès ssh depuis Internet pour les instances d'un sous-réseau VPC, procédez comme suit:
Pour moi, c’est que j’avais tout supprimé du volume de démarrage. Et je ne pouvais plus me connecter à l'instance.
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.
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
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.