Accessing server terminals from any device without installing SSH clients is increasingly valuable for teams managing distributed infrastructure. Web-based terminal tools bridge the gap between traditional SSH and modern browser-based workflows, enabling remote access from tablets, shared workstations, or locked-down environments.
This guide compares three popular self-hosted web terminal solutions: Wetty, GoTTY, and ShellHub. We cover deployment with Docker Compose, authentication options, security considerations, and help you choose the right tool for your access patterns.
Overview of Web Terminal Tools
| Feature | Wetty | GoTTY | ShellHub |
|---|---|---|---|
| Type | Web SSH client | Terminal-to-web bridge | Full device management platform |
| Stars | 4,000+ | 14,000+ | 2,000+ |
| Protocol | SSH over WebSocket | Local terminal to WebSocket | SSH with agent-based management |
| Authentication | SSH keys/passwords | None built-in (use reverse proxy) | Device-level + user auth |
| Multi-user | Yes (via SSH) | Single session | Yes (team management) |
| Session recording | No | No | Yes |
| Docker support | Yes (official image) | Yes (community) | Yes (official compose) |
| Fleet management | No | No | Yes |
Wetty — Web-based SSH Terminal
Wetty (4,000+ stars) is a web-based SSH client that runs in any modern browser. It connects to your SSH server over WebSocket and provides a full terminal emulator in the browser — xterm.js powered with proper escape sequence handling.
Key Features
- Browser-based SSH — No client installation needed
- xterm.js backend — Full terminal emulation with color support
- Reverse proxy friendly — Works behind Nginx, Caddy, or Traefik
- Customizable — Theme, font, and terminal size options
Docker Compose
| |
For SSH key authentication:
| |
Nginx Reverse Proxy Configuration
| |
GoTTY — Share Your Terminal as a Web Application
GoTTY (14,000+ stars) is a simple command-line tool that turns any CLI program into a web application. Run gotty top to view your system monitor in a browser, or gotty bash to get a full shell session.
Key Features
- Any CLI to web — Works with any command-line program
- Lightweight — Single Go binary, no dependencies
- Read-only mode — Share terminal output without allowing input
- Credential protection — Basic auth support
Docker Compose
| |
For a read-only session (view only, no input):
| |
ShellHub — Centralized Device Access Platform
ShellHub (2,000+ stars) goes beyond simple terminal sharing — it is a full device management platform built for IoT, edge computing, and distributed infrastructure. Devices register with a central server, and administrators can access any device through a web interface.
Key Features
- Agent-based architecture — Devices connect outbound through firewalls/NAT
- Team management — Role-based access control for multiple users
- Session recording — Full audit trail of all terminal sessions
- Firewall traversal — No inbound ports needed on devices
- API-driven — REST API for automation and integration
Docker Compose (Full Stack)
| |
Install the agent on remote devices:
| |
Comparison: Choosing the Right Web Terminal
Use Wetty when:
- You need a browser-based SSH client for occasional server access
- Your infrastructure already has SSH configured properly
- You want a simple, drop-in web terminal solution
Use GoTTY when:
- You want to share specific CLI tools (htop, logs, monitoring) as web apps
- You need read-only terminal sharing for demonstrations
- You want a lightweight, single-binary solution
Use ShellHub when:
- You manage many distributed devices (IoT, edge servers, remote offices)
- You need session recording and audit trails for compliance
- Devices are behind NAT or firewalls with no inbound access
- You need team-based access control
Why Use Web-Based Terminals?
Web terminals solve real infrastructure access challenges. They enable support teams to access servers from restricted workstations, let managers view live system metrics without SSH keys, and provide a centralized access point for distributed device fleets. Security is maintained through HTTPS, authentication, and — in ShellHub case — session recording.
For SSH certificate management, see our SSH certificate guide. For remote desktop access, check our remote desktop comparison. For terminal shell history management, our terminal history guide covers shell enhancements.
FAQ
Is Wetty secure for production use?
Wetty uses your existing SSH infrastructure for security. All connections are encrypted via SSH, and you can add an HTTPS reverse proxy for transport security. The web interface itself does not handle authentication — it relies on SSH.
Can GoTTY handle multiple concurrent users?
GoTTY supports multiple concurrent viewers in read-only mode. For write access, only one user can interact at a time. For multi-user write access, consider Wetty with SSH or ShellHub.
Does ShellHub work with devices behind NAT?
Yes. ShellHub agents initiate outbound connections to the central server, so no inbound ports need to be opened on devices. This makes it ideal for IoT devices, home labs, and remote offices.
How do I add HTTPS to these web terminals?
Use a reverse proxy like Nginx, Caddy, or Traefik with Let’s Encrypt certificates. The Wetty and GoTTY configs above work behind any HTTPS reverse proxy.
Can I restrict which commands users can run?
With GoTTY, specify the command in the Docker Compose config (e.g., htop instead of bash). With Wetty, use SSH ForceCommand directive. With ShellHub, use role-based access control.
Is session recording available in all tools?
Only ShellHub provides built-in session recording. Wetty and GoTTY do not record sessions natively — you would need to add terminal recording via script command or a separate logging solution.