EzTunnelSSH Setup Guide: Tunnel SSH in Minutes

EzTunnelSSH Setup Guide: Tunnel SSH in MinutesEzTunnelSSH is designed to make SSH tunneling fast, simple, and reliable. This guide walks you step-by-step from installation to advanced usage, so you can securely forward ports, access remote services, and protect traffic with minimal fuss.


What is SSH tunneling and why use EzTunnelSSH?

SSH tunneling (also called SSH port forwarding) lets you securely forward network traffic from your local machine to a remote host over an encrypted SSH connection. Common uses:

  • Access internal web services behind a firewall.
  • Securely route application traffic over an untrusted network.
  • Forward remote databases or development servers to your laptop.

EzTunnelSSH aims to simplify the common setup steps with user-friendly defaults, automatic reconnection, and simple configuration files while retaining the flexibility of native SSH.


Quick overview (2-minute setup)

  1. Install EzTunnelSSH for your platform (macOS, Linux, Windows).
  2. Create a simple config specifying local and remote ports and the target host.
  3. Run EzTunnelSSH with your SSH credentials; it establishes the tunnel and handles reconnection.

Result: a secure encrypted tunnel forwarding traffic from a local port to the remote service.


Installation

macOS & Linux (Homebrew / apt / tarball)

  • Homebrew (macOS / Linuxbrew):
    • brew install eztunnelssh
  • Debian/Ubuntu:
    • sudo apt install eztunnelssh
  • Manual tarball:
    • Download the latest release, extract, and move the binary to /usr/local/bin, then chmod +x.

Windows

  • MSI installer or portable ZIP from the releases page.
  • Windows users can also run EzTunnelSSH via WSL for a native Unix-like experience.

After installation, verify by running:

eztunnelssh --version 

Authentication options

EzTunnelSSH supports the same authentication methods as OpenSSH:

  • Password authentication (less recommended).
  • SSH key pairs (recommended).
    • Generate a key: ssh-keygen -t ed25519 -C "[email protected]"
    • Add public key to remote ~/.ssh/authorized_keys.
  • Agent forwarding / ssh-agent support for unlocked key convenience.
  • Optional multi-factor or certificate-based providers if your server supports them.

Basic usage examples

  1. Simple local port forwarding (access remote web app on localhost:8080):

    eztunnelssh -L 8080:localhost:80 [email protected] 

    This forwards your machine’s localhost:8080 to remote host’s localhost:80.

  2. Remote port forwarding (expose local dev server to remote host):

    eztunnelssh -R 9000:localhost:3000 [email protected] 

    Remote host can now reach your local app at localhost:9000.

  3. Dynamic port forwarding (SOCKS proxy for web browsing):

    eztunnelssh -D 1080 [email protected] 

    Set your browser to use SOCKS5 proxy at localhost:1080.


Configuration file

EzTunnelSSH supports a config file to save profiles. Create ~/.eztunnelssh/config:

Host myprod   HostName remote.example.com   User deploy   IdentityFile ~/.ssh/id_ed25519   LocalForward 8080 localhost:80   ServerAliveInterval 60   ServerAliveCountMax 3 

Start with:

eztunnelssh myprod 

This makes recurring tunnels one-command easy.


Automatic reconnection & background mode

EzTunnelSSH can run as a background daemon with auto-reconnect:

eztunnelssh --daemon --auto-reconnect myprod 

Useful for long-lived tunnels (development, remote monitoring). Logs are written to ~/.eztunnelssh/logs/.


Security best practices

  • Use SSH key authentication and protect private keys with a passphrase.
  • Limit forwarded ports to only those required.
  • Use ServerAliveInterval and ServerAliveCountMax to detect dead connections.
  • Restrict allowed commands and addresses on the server-side in authorized_keys when exposing ports.
  • Keep EzTunnelSSH and OpenSSH updated.
  • Use firewalls and network policies to limit access to forwarded ports.

Troubleshooting

  • “Connection refused” — verify target service is listening on the remote host and port.
  • “Permission denied” — check your SSH key or password and server-side SSH config.
  • Tunnel opens but no traffic — ensure remote service binds to correct interface (e.g., 127.0.0.1 vs 0.0.0.0).
  • Repeated disconnects — enable keepalive options and check network stability.

Commands to help debug:

ssh -vvv [email protected]    # verbose SSH client logs ss -tuln                            # check listening sockets on Linux tail -f ~/.eztunnelssh/logs/eztunnel.log 

Advanced tips

  • Combine EzTunnelSSH with systemd user services for automatic start on login (Linux).
  • Use proxychains or browser proxy settings with -D SOCKS for selective app routing.
  • Chain tunnels (local -> bastion -> internal host) with ProxyJump:
    
    Host internal HostName internal.private ProxyJump bastion.example.com LocalForward 8080 localhost:80 
  • Securely share access using ephemeral certificates (if your SSH CA supports it) rather than long-lived keys.

Example workflows

  1. Developer quickly previewing remote site:
  1. Database access from laptop:
  • Start eztunnelssh -L 5432:localhost:5432 [email protected] then connect your client to localhost:5432.
  1. Browsing through remote network:

Summary

EzTunnelSSH reduces friction around SSH tunneling by providing clear defaults, profile-based configs, and reconnect features. With SSH keys, a small config, and one command, you can securely forward ports in minutes.

If you want, tell me your OS and the exact forwarding you need and I’ll generate the exact command and a ready-to-use config snippet.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *