bob dylan
bob dylan

Reputation: 1109

SSH reverse port forward on EC2 aws instance

I used to have an ssh reverse port forwarding from my local computer to a remote EC2 AWS server on port 9999. (9999 for both machines.)

It used to work, but I created a new instance, and now it doesn't anymore. (Half working.) I'm not sure what I did to make it work back then... (Or something was changed.)

I have a process running on my computer on port 9999 and I want it to listen to the port 9999 of my EC2.

On my computer, curl "127.0.0.1:9999" is working.
But I want the code curl "ec2-xx-xx-xx-xx-xx.compute.amazonaws.com:9999" to work, for now it doesn't, giving me the error curl: (7) Failed to connect to ec2-xx-xx-xx-xx-xx.compute.amazonaws.com port 9999 after 59 ms: Connection refused

EC2 Security group is set to open 9999 on TCP for 0.0.0.0/0.

I create the forwarded port with the command :

ssh -R 9999:localhost:9999 -i "/home/example/XXX.pem" [email protected]

The connection ssh is established without errors.
Inside this ssh session I can even do curl "127.0.0.1:9999" inside and IT IS WORKING. Reaching my local computer.

But the request from the web isn't... (curl "ec2-xx-xx-xx-xx-xx.compute.amazonaws.com:9999" doesn't work...)

The path is good, if I install apache2 on port 80 curl "ec2-xx-xx-xx-xx-xx.compute.amazonaws.com:80" is working. (port 80 is added the same way to the security group)

I did sudo ufw disable, same problem.

Do you have an idea what I'm missing ?

EDIT : On the ssh -R forward session on the EC2 :

ubuntu@awsserver:~$ php -S 0.0.0.0:9999 -t .
[Wed Dec 14 16:35:11 2022] Failed to listen on 0.0.0.0:9999 (reason: Address already in use)

BUT, if I open a normal ssh session, I can run php -S 0.0.0.0:9999 -t ., the code curl "ec2-xx-xx-xx-xx-xx.compute.amazonaws.com:9999" is working everywhere as expected.

So... it is telling me that the port is already used (By the ssh -R command), but is closed when I try to connect to it... I don't get it.

Upvotes: 1

Views: 805

Answers (1)

bob dylan
bob dylan

Reputation: 1109

The answer wasn't EC2/AWS related.

It's a security feature from SSH that I had to disable : GatewayPorts yes

Upvotes: 2

Related Questions