J'ai mis en place l'instance EC2 il y a quelques jours et même hier soir, j'ai pu y accéder sans aucun problème. Aujourd'hui matin, je ne peux pas y aller. Le port 22 est déjà ouvert dans le groupe de sécurité et je n’ai rien changé depuis hier soir.
Erreur:
ssh: connect to Host [ip address] port 22: Connection refused
J'avais un problème similaire récemment et je ne pouvais pas comprendre pourquoi cela se produisait. J'ai donc dû créer une nouvelle instance, la configurer à nouveau, puis connecter et configurer tous les stockages EBS au nouveau. Ça m'a pris deux heures ... et maintenant ça se reproduit. Dans la version précédente, j’ai installé denyhost
, ce qui m’a peut-être bloqué, mais dans la version actuelle, seuls Apache2 et mysql sont en cours d’exécution.
L'instance actuelle est active depuis 16 heures maintenant, donc je ne pense pas que c'est parce qu'elle n'a pas fini de démarrer ... De plus, le port 22 est ouvert à toutes les sources (0.0.0.0/0) et utilise le protocole TCP.
Des idées?
Merci.
Avec l’aide de @ abhi.gupta200297, nous avons pu résoudre le problème.
Le problème était l'erreur dans /etc/fstab
, et sshd était censé être démarré après que fstab
eut réussi. Mais ce n'était pas le cas, par conséquent, sshd ne voulait pas démarrer et c'est pourquoi il refusait la connexion. La solution consistait à créer une instance temporaire, à monter l'EBS racine à partir de l'instance d'origine et à commenter des éléments de la variable fstab
et le tour est joué, cela me permettait de me reconnecter. Et pour l’avenir, j’ai juste cessé d’utiliser fstab
et créé un ensemble de commandes Shell pour monter les volumes EBS dans des répertoires. Je les ai ajoutés au fichier /etc/init.d/ebs-init-mount
, puis j’ai exécuté update-rc.d ebs-init-mount defaults
pour l’initialiser. Je n’ai plus de problèmes avec ssh verrouillé.
UPDATE 4/23/2015
L'équipe Amazon a créé un didacticiel vidéo sur un problème similaire et montre comment déboguer à l'aide de cette méthode: https://www.youtube.com/watch?v=_P29ZHu_feU
On dirait que sshd pourrait s'être arrêté pour une raison quelconque. L'instance EBS est-elle soutenue? Si c'est le cas, essayez de l'éteindre et de le redémarrer. Cela devrait résoudre le problème.
De plus, pouvez-vous utiliser SSH depuis la console Web AWS? Ils ont un plugin Java pour ssh dans l'instance.
Pour ceux d'entre vous qui sont tombés sur ce message parce que vous ne parvenez pas à SSH dans votre instance EC2 après un redémarrage, ceci est partagé à une question similaire à serverfault :
De message publié sur le forum des développeurs AWS sur ce sujet :
Essayez d’arrêter l’instance endommagée, de détacher le volume EBS et de L’attacher en tant que volume secondaire à une autre instance. Une fois que vous avez monté le volume endommagé quelque part sur l'autre instance, vérifiez le fichier /Etc/sshd_config (en bas). J'ai eu quelques instances RHEL Où Yum a scrogué sshd_config en insérant des lignes dupliquées au bas de Qui ont entraîné l'échec de sshd au démarrage en raison d'erreurs de syntaxe.
Une fois que vous avez résolu le problème, il suffit de démonter le volume, de le détacher, de le rattacher à Et de le réactiver.
Décomposons cela avec des liens vers la documentation AWS:
cd /etc/ssh
Sudo nano sshd_config
ctrl-v
un tas de fois pour aller au bas du fichierctrl-k
toutes les lignes du bas mentionnant "PermitRootLogin sans mot de passe" et "UseDNS no"ctrl-x
et Y
pour enregistrer et quitter le fichier modifiécd /etc
Sudo nano rc.local
ctrl-x
et Y
pour enregistrer et quitter le fichier modifiéCela m'est arrivé sur une instance Red Hat EC2 parce que ces deux lignes étaient automatiquement ajoutées à la fin du fichier/etc/ssh/sshd_config chaque fois que j'ai lancé mon instance:
PermitRootLogin sans mot de passe
UseDNS no
Une de ces opérations d’ajout a été effectuée sans saut de ligne, la queue du fichier sshd_config ressemblait à ceci:
PermitRootLogin sans mot de passe
UseDNS noPermitRootLogin sans mot de passe
UseDNS no
Cela a empêché sshd de démarrer au prochain lancement. Je pense que cela a été causé par le bogue signalé ici: https://bugzilla.redhat.com/show_bug.cgi?id=956531 La solution consistait à supprimer toutes les entrées en double au bas du fichier sshd_config, et ajoutez des sauts de ligne supplémentaires à la fin.
Accédez à votre console de gestion AWS> sélectionnez une instance> cliquez avec le bouton droit de la souris et sélectionnez "Obtenir les journaux du système" . Ceci répertoriera les erreurs.
J'ai eu un fichier SSH similaire verrouillé en détachant un EBS mais j'ai oublié de modifier le fichier/etc/fstab