Appearance
Web console
Every instance pod has a built-in browser terminal. No SSH client required.
When to use it
- You are on a network that blocks outbound SSH.
- You are on a borrowed machine and do not have your keys.
- You are debugging firewall rules and just locked yourself out.
- You just want to poke around quickly.
Open the Shell
- Open Pods in the console, or click Pods in the side panel.
- Find your pod in the table. Search pods... above it filters by name if the list is long.
- Click the pod's name. You land on the pod's page, on the Overview tab.
- Click Shell, at the top right of the page, next to the ... button. It only appears while the pod is Running, which the status pill beside the pod's name confirms. If the pod is off, start it from the ... menu with Start and wait for the pill to read Running.
- A black Terminal panel slides up over the bottom half of the window. It shows Connecting... for a moment, then gives you a prompt. You are already logged in: no password, no key, no port number.
- Click the x at the top right of the panel to close it. Leaving the page closes it too.
The console runs over a secure WebSocket on port 443, so it works on basically any network that allows HTTPS. The pod's firewall doesn't come into it either, because the traffic goes to the console rather than to the pod's public port. That is what makes this the way back in after you lock yourself out.
Instance pods only
The browser Shell is available on instance pods (Ubuntu and friends). Database pods do not get one - connect to those with a MySQL client, using the Public MySQL connection string on the pod's Connection Strings tab (see connection details). The Shell button is still drawn on a running database pod, but the panel opens with Failed to obtain console ticket in place of a prompt.
How it works (briefly)
When you click Shell, the console asks the API for a short-lived access ticket (POST /api/pods/:id/console-ticket). The ticket is valid for 30 seconds and works exactly once. The browser then opens a WebSocket to the pod with that ticket attached.
So even if someone snags a console URL, they cannot replay it.
Limitations
- It is a real shell, but it is meant for interactive use. Start long-running processes with
tmux,screen, or a systemd service so they survive your tab closing. - File uploads and downloads are not built into the console UI. Use
scp,rsync, or an HTTP-based tool you install yourself. - An idle session is closed after an hour. The terminal prints
Connection closed.; close the panel and click Shell again for a fresh one.