remote-forward

Expose local services through a remote host using reverse SSH tunneling.

Updated Apr 10, 2026
One-click install
npx skills add https://github.com/theslashdojo/dojo --skill remote-forward
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: remote-forward
Source: https://github.com/theslashdojo/dojo/tree/main/nodes/ssh/tunnel/remote-forward
Command: npx skills add https://github.com/theslashdojo/dojo --skill remote-forward

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Enable a machine behind NAT or firewall to receive inbound connections by creating a reverse SSH tunnel so a remote, reachable host listens on a port and forwards traffic back to a client-side service.

Core Features & Use Cases

  • Open a remote listening port on a bastion to publish a local development server.
  • Receive webhook callbacks on a machine without inbound access by forwarding the remote port to a local listener.
  • Temporary remote access for troubleshooting or demos without changing firewall rules or DNS.

Quick Start

Run the remote-forward script with SSH_HOST=bastion.example.com SSH_USER=ops SSH_REMOTE_PORT=8080 SSH_DEST_HOST=127.0.0.1 SSH_DEST_PORT=3000 to open a reverse SSH tunnel that forwards the remote listening port back to your local service.

Frequently Asked Questions about remote-forward

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I expose a local development server behind NAT to receive webhook callbacks?

Reverse SSH tunneling exposes a local development server behind NAT by opening a remote listening port on a reachable bastion host that forwards inbound webhook callbacks back to your local service. It bridges private networks without requiring inbound firewall access or DNS changes.

What is reverse SSH tunneling and when do I need it?

Reverse SSH tunneling is a technique where a remote, reachable host listens on a specified port and forwards traffic back to a client-side service. You need it when publishing local servers, bridging private client networks via a bastion, or receiving webhooks on machines without inbound access.

How do I set up a reverse SSH tunnel to a bastion host?

To set up a reverse SSH tunnel, run the script specifying the remote SSH host, user, remote listening port, and client-side destination host and port. This creates a reverse tunnel forwarding the remote port back to your local service, with optional bind address and backgrounding support for the OpenSSH client.

Can I use reverse SSH tunneling for temporary remote access without changing firewall rules?

Yes, reverse SSH tunneling provides temporary remote access for troubleshooting or demos without changing firewall rules or DNS. By using a reachable remote host as a bastion, the tunnel bypasses inbound restrictions on the client machine to bridge into private networks securely.

Does OpenSSH client backgrounding work with reverse port forwarding?

Yes, reverse port forwarding supports OpenSSH client backgrounding as an optional feature. This allows the reverse SSH tunnel process to run in the background while continuing to forward a remote listening port to a local destination host and port.

Why is my reverse SSH tunnel not forwarding traffic to my local service?

A reverse SSH tunnel fails to forward traffic if the remote listening port, client-side destination host, or destination port are incorrectly specified. Ensure the remote host is reachable, the OpenSSH client is connected, and the local service is actively listening on the configured destination port.