selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

WebSSH logo

Self-host WebSSH

v2.6.0

Self-hosted SSH and SFTP browser workspace

ReleaseOpen SourceMIT
Updated9 hours ago
LanguagePython
Setup difficultyModerate
MobileResponsive
Stars
224
Port
5000 (HTTP/WebSocket server)
Docker
ghcr.io/bifrost0x/webssh
Install with Docker
Focused session workspace with terminal and notesMultiple live terminal panes with session tabsDual-pane SFTP file workspace with transfer queueSecurity Center showing sign-in assurance, Passkeys, TOTP, and SSH host trustMobile terminal workspace with responsive session controls

What is WebSSH?

WebSSH is a browser-based SSH and SFTP workspace you host yourself. It gives you multiple terminal sessions in tabs or split panes, a dual-pane file manager for SFTP (and optionally SMB) with server-to-server transfers, saved connections with jump hosts, a command library, session notes, and Linux diagnostics like processes and systemd services. Each user gets isolated profiles with encrypted key storage and per-host trust. Authentication starts with local accounts and can add Passkeys, TOTP, OIDC, GitHub App, or LDAP/Active Directory. The UI works on mobile and desktop. Admin features include user management, audit logs, native backup/restore, and health checks. Deploy with Docker Compose (persistent data volume) or from source (Python 3.11+). A production overlay adds HTTPS, secure cookies, and internal-target blocking. MIT licensed, no telemetry, no hosted control plane.

Should you self-host WebSSH?

WebSSH scores 50/100 on selfhost.directory (how scoring works) and ranks #2 of 6 in SSH. It has 224 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v2.6.0, came out on 23 October 2026. New versions land roughly every 9 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Bastillion (58/100, 3 552 stars). It scores higher overall, so compare the two before you pick. See WebSSH vs Bastillion side by side.

Features

  • Audit logging and export
  • Command library and sets
  • Encrypted SSH key storage
  • Linux diagnosticsDepends on remote system and account permissions
  • Multi-session SSH terminals
  • Multi-user with isolated profiles
  • Native backup and restore
  • Passkeys (WebAuthn)Requires WEBAUTHN_ENABLED and exact RP ID/origin configuration
  • Persistent remote shells (tmux)Requires tmux on the target server
  • Saved connections and jump hosts
  • Session notes
  • SFTP file manager
  • SMB file sourcesDisabled by default; requires SMB_ENABLED=true and SMB_ALLOWED_TARGETS
  • SSH host key verification
  • TOTP authenticationAdmin must enable before users can enroll

WebSSH README

How to install WebSSH

Install WebSSH with Docker

Docker Engine
Environment variables
CORS_ORIGINS, SECRET_KEY, DEPLOYMENT_PROFILE, etc.

docker run -d
--name webssh
-p 127.0.0.1:5000:5000
-e CORS_ORIGINS=http://localhost:5000
-v webssh_data:/app/data
--restart unless-stopped
ghcr.io/bifrost0x/webssh:latest

Local evaluation setup binding to loopback

WebSSH releases & version history

More in SSH

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…