Web Terminal
Cloud OS includes a browser-based terminal that provides direct shell access to your server without requiring SSH.
The web terminal requires the web_terminal license feature. Use caution — commands executed in the terminal run with the Cloud OS process privileges.
Accessing the Terminal
- Navigate to Terminal from the sidebar (or click the terminal icon in the header)
- A terminal session opens in your browser using xterm.js
- You get a full bash shell with standard Linux tools available
Features
| Feature | Description |
|---|---|
| Full PTY | Real terminal with proper line editing, tab completion, and signal handling |
| Resize | Terminal automatically resizes when you resize the browser window |
| Copy & Paste | Standard clipboard operations work (Ctrl+Shift+C / Ctrl+Shift+V) |
| Idle Timeout | Sessions automatically close after 30 minutes of inactivity |
How It Works
The terminal uses a WebSocket connection to a PTY (pseudo-terminal) on the server:
- The browser connects via WebSocket to
/api/terminal/ws - The server opens a PTY running
/bin/bash - Keystrokes are sent from the browser to the PTY via WebSocket
- PTY output is streamed back to the browser in real time
- Window resize events are sent as control messages
Remote Terminal via Control Panel
When connected to a Control Panel, administrators can access the web terminal remotely through the fleet management interface. The Control Panel proxies the WebSocket connection through the mTLS agent tunnel.
Remote terminal access from the Control Panel requires the remote_terminal license feature (Business+ plan).
Security
- Terminal sessions require JWT authentication
- All terminal I/O is transmitted over encrypted WebSocket connections
- Sessions are logged in the audit trail
- Idle sessions are terminated after 30 minutes