Browser SSH Terminal Web UI

Access a remote shell directly from your browser. The NFLTR dashboard includes a full-featured xterm.js terminal — no local SSH client installation, no key distribution. Click "Connect" on any agent proxying an SSH server.

⚠️ Prerequisite

The target machine must have an SSH server (e.g. sshd) running and listening on the configured port (typically 22). The NFLTR agent proxies SSH traffic — it does not provide SSH itself. You also need valid SSH credentials (username + password or key) on the target machine.


How It Works

The browser connects to the NFLTR server over a WebSocket. The server bridges the WebSocket to the SSH tunnel established by the agent. The agent proxies SSH to the target machine. Full interactive terminal with colors, resize, and scrollback.

BROWSER xterm.js terminal WebSocket ↔ HTTPS NFLTR SERVER WS → SSH bridge Session auth check AGENT SSH proxy gRPC tunnel TARGET sshd :22 Linux/macOS

Terminal Preview

Connected to agent prod-api-01 via SSH
Last login: Mon Jan 13 14:22:31 2025 from 10.0.0.1

user@prod-api-01:~$ docker ps --format "table {{.Names}}\t{{.Status}}"
NAMES STATUS
api-server Up 14 days
postgres Up 14 days
redis Up 14 days

user@prod-api-01:~$

Features

🖥️ Full Terminal

xterm.js with 256-color support, mouse events, scrollback buffer, and clipboard integration.

📐 Auto Resize

Terminal resizes dynamically with the browser window. PTY dimensions sync automatically.

🔐 Session Auth

Uses your existing NFLTR session. No SSH keys to distribute or manage.

🌐 Zero Install

Works from any device with a modern browser. No SSH client, no PuTTY, no terminal app.

⚡ Low Latency

WebSocket connection to server, then gRPC tunnel to agent. Optimized for interactive typing.

📱 Mobile Ready

SSH from your phone or tablet. Touch-friendly terminal with on-screen keyboard support.

How to Enable

On the agent

# Start the agent with SSH port exposed
nfltr tcp 22 --name my-ssh-server

# Or forward to a specific SSH server on the network
nfltr tcp 22 --forward 192.168.1.100:22

From the dashboard

  1. Sign in to your NFLTR dashboard
  2. Find the agent in your Agents list
  3. Click the SSH button next to the agent name
  4. A terminal window opens in your browser
💡 Also works from CLI

Prefer a local terminal? Use nfltr ssh-proxy --name <agent-id> from any machine with the CLI installed. See TCP & SSH Tunneling for details.

Use Cases

Remote shell from any browser

No local SSH client needed — full terminal right in the dashboard. Requires an SSH server on the target machine.

Open Dashboard TCP & SSH →