Pro & Business Feature

SSH from your browser

Full interactive shell, visual file browser, and inline code editor -- right in the sh0 dashboard. No SSH keys, no port forwarding, no command-line gymnastics.

What you get

A full terminal experience built into your dashboard. No external tools required.

Interactive shell
Full bash, sh, or zsh session in your browser
File browser
Visual file tree with expand/collapse navigation
Inline file editor
Edit files directly with syntax highlighting
Container selection
Switch between services in multi-container stacks
Command history
Persistent command history across sessions
Secure WebSocket
Encrypted connection from browser to container

How it works

01

Open your app in the dashboard

Navigate to any deployed app in your sh0 dashboard. Works for any stack -- Node.js, Python, Go, PHP, or any Docker image.

02

Click the "Terminal" tab

One click to open the built-in terminal. No SSH configuration, no key management, no port forwarding.

03

Select the container or service

For multi-service stacks (e.g., app + database + Redis), pick which container you want to access from a dropdown.

04

Full shell access in your browser

You get a real interactive shell. Run commands, inspect logs, debug issues, manage files -- all without leaving your browser.

How the connection works

Browser
WebSocket
sh0 API
Docker Exec
Container Shell

Fully encrypted, authenticated connection -- no SSH ports exposed

Everything you need

Full interactive shell

Not a stripped-down pseudo-terminal. Full PTY with colors, tab completion, vi mode, and everything you expect from a real shell.

File browser with tree view

Browse the container filesystem visually. Expand directories, preview files, navigate your application structure at a glance.

Inline editor with syntax highlighting

Click any file to edit it in-place. Syntax highlighting for 50+ languages. Save directly to the container filesystem.

Multi-service container selection

Running a stack with app, database, cache, and worker? Switch between containers with a dropdown. No need to remember container IDs.

Secure WebSocket connection

All terminal traffic flows over an encrypted WebSocket via the sh0 API. No exposed SSH ports, no attack surface.

No SSH keys needed

Authenticate through the dashboard. No SSH key generation, no authorized_keys management, no key rotation headaches.

The old way

  • x SSH into server
  • x Find the right container ID
  • x docker exec -it manually
  • x No file browser
  • x Install nano/vim in container
  • x Manage SSH keys

The sh0 way

  • Click Terminal in dashboard
  • Select container from dropdown
  • Full shell in browser
  • Visual file tree + editor
  • No SSH setup needed
  • Works from any device

Questions & answers

Which shells are supported? +
sh0 detects available shells in the container and defaults to bash. If bash is not installed, it falls back to sh. You can also manually select zsh or any other shell installed in the image.
Can I edit files directly? +
Yes. The built-in file editor supports syntax highlighting for 50+ languages. Click any file in the tree view to open it, make your changes, and save. No need to install nano or vim in the container.
Is the connection secure? +
Absolutely. The terminal uses an authenticated WebSocket connection over TLS. Traffic flows from your browser to the sh0 API (authenticated via your session token), then to the Docker exec API over the local Unix socket. No SSH ports are exposed.
Can I access any container in my stack? +
Yes. If your app has multiple services (e.g., web server, database, Redis, worker), you can select any running container from the dropdown and get a shell into it.
Does it work on mobile? +
The terminal is usable on tablets and larger phones, but for the best experience we recommend a desktop browser. The file editor and tree view are optimized for larger screens.
Is there command history? +
Yes. Your command history is preserved across terminal sessions via the browser. Use the up/down arrow keys to navigate previous commands, just like a local terminal.

Access your containers instantly

Full shell, file browser, and editor -- right in your browser. No SSH, no keys, no hassle.