Trying to etablish remote ssh port forwarding:
On my remote host, /etc/ssh/sshd_config
GatewayPorts clientspecified
On my local computer:
ssh -g -R 1234:0.0.0.0:8000 me@my-remote-host With debug, we can read:
debug1: Authentication succeeded (publickey). Authenticated to s1.bux.fr ([178.32.223.76]:22). debug1: Remote connections from LOCALHOST:1234 forwarded to local address 0.0.0.0:8000 debug2: fd 3 setting TCP_NODELAY debug1: Requesting [email protected] debug1: Entering interactive session. debug1: remote forward success for: listen 1234, connect 0.0.0.0:8000 debug1: All remote forwarding requests processed On remote host, we can contact 1234 port (WSGIServer/0.2 CPython/3.4.3 is the local machine 8000 port):
# http :1234 HTTP/1.0 302 Found Content-Type: text/html; charset=utf-8 Date: Wed, 19 Oct 2016 13:26:00 GMT Location: /accounts/login/ Server: WSGIServer/0.2 CPython/3.4.3 Vary: Cookie X-Frame-Options: SAMEORIGIN We can view opened port:
# netstat -tupln | grep 1234 tcp 0 0 127.0.0.1:1234 0.0.0.0:* LISTEN 14460/1 tcp6 0 0 ::1:1234 :::* LISTEN 14460/1 But, from another machine in world, i'm unable to contact my-remote-host:1324:
# http my-remote-host:1234 http: error: ConnectionError: HTTPConnectionPool(host='my-remote-host', port=1234): Max retries exceeded with url: / (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0xb6b2fbec>: Failed to establish a new connection: [Errno 111] Connection refused',)) while doing GET request to URL: http://my-remote-host:1234/ There is no firewall on my-remote-host:
# iptables -L [sudo] password for bux: Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-sshd tcp -- anywhere anywhere multiport dports ssh fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- anywhere anywhere Chain fail2ban-sshd (1 references) target prot opt source destination RETURN all -- anywhere anywhere How found where it's blocking ?

