wiki:ssh_tunnel_forwarding
Table of Contents
SSH tunnel port forwarding
Access remote resource running on port 5555 locally on port 5001
ssh user@example.com -L 5001:localhost:5555
Then type in web browser https://localhost:5001
Opposite: access local resource on port 3000 over public domain
ssh -R 8083:localhost:3000 user@example.com
Then type in browser “example.com” to see local content on public domain. example.com needs to be proxied by the webserver to 8083 port on server. user@example.com
is just the hostname, you can point any domain to the host where you are connecting with the tunnel.
nginx proxy example
server { include /etc/nginx/conf.d/ssl-conf; server_name example.com; access_log /var/log/nginx/$host; location / { proxy_pass http://localhost:8083; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
SSH keys need to be set up beforehand for both methods.
See also
References
wiki/ssh_tunnel_forwarding.txt · Last modified: 2021/06/04 10:51 by antisa