J'ai ouvert un serveur AWS (une instance EC2 dédié au deep learning), j'arrive à me connecter dessus en SSH, à executer des commandes et à envoyer des fichiers via SFTP, mais je suis perplexe par rapport à la dernière brique qui me manque : les sockets TCP.
Mon but est d’exécuter des scripts Python sur ce serveur AWS et de les faire communiquer avec mon logiciel local via une socket TCP.
Quand tout est en local (logiciel+scripts) pas de problème, mon logiciel écoute sur le port 5000 (par exemple) et je dis à mon script de se connecter à localhost:5000.
Mais pour un script lancé à distance via SSH c'est moins clair pour moi.
J'ai cru comprendre qu'il fallait faire du port forwarding, mais je n'ai pas compris si je devait faire du local port forwarding ou du remote port forwarding, et je ne comprend pas quelles adresses je suis censé rentrer.
Apparemment la commande typique pour faire du local port forwarding ressemble à ça:
Code :
- ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
|
Et du remote port forwarding à ça, mais si j'ai bien compris c'est à executer sur le remote:
Code :
- ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
|
Si j'écoute en local sur le port 5000 et que j'autorise AWS à passer des sockets TCP via le port 3000, et que je veux que mes scripts AWS puissent se connecter sur mon serveur local, ça donne quoi concrètement comme commande ?