J'ai fait cela quelques dizaines de fois sur une machine "normale" (pas dans EC2) et cela semble assez simple. J'essayais d'exécuter ssh sur les ports 22 et 80, mais je n'arrivais pas à comprendre pourquoi je ne pouvais pas me connecter par le port 80 alors que je pouvais le faire par le port 22. Voici donc ce que j'ai fait :
- Créer une nouvelle instance (j'ai utilisé une instance RHEL plus petite car j'essayais de l'implémenter pour une instance RHEL HVM).
- Se connecter en SSH à la machine et mettre à jour
/etc/ssh/sshd_config
et a ajouté les lignesPort 22
yPort 80
- Ajout d'une nouvelle règle à l'iptables :
iptables -I INPUT 3 -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 80 -m state --state New -j ACCEPT
puissudo service iptables restart
- courir
services sshd restart
Le redémarrage indique "OK" et je peux me connecter en utilisant le port 22. Mais je ne peux pas me connecter via le port 80. J'installe alors nmap, mais je ne vois rien s'exécuter sur le port 80 (le port 22 est là !). Je suis sûr à 200% que mon groupe de sécurité est correct. J'ai même essayé dans une nouvelle instance au cas où les groupes de sécurité n'auraient pas été mis à jour en temps réel.
J'ai fait quelques observations :
- l'arrêt des services iptables et ip6tables n'a aucun effet
- si je supprime le port 22 de la configuration sshd, je ne peux plus établir de nouvelles connexions
- Si je fais les mêmes étapes (moins la règle iptables) sur une AMI Ubuntu, je peux me connecter avec succès !
UPDATE : Je n'ai toujours pas trouvé le problème, mais il est probablement causé par mon fournisseur d'accès (peut-être bloque-t-il le trafic du port 80 qui n'est pas du trafic HTTP). Ce n'est pas un secret que Singapour fait beaucoup de filtrage de trafic donc ce n'est pas impossible. J'ai essayé d'exécuter SSH à partir d'un port différent et cela fonctionne. De même, la connexion à SSH sur le port 80 à partir d'une autre instance EC2 d'une région différente fonctionne. En tout cas, j'ai marqué la réponse la plus votée.