Welcome to the comprehensive WebSSH2 documentation. This guide covers installation, configuration, features, and development.
New to WebSSH2? Start here:
- Quick Start Guide - Get up and running in 5 minutes
- Installation Guide - Detailed installation for all platforms
- Docker Setup - Docker and Kubernetes deployment
- Migration Guide - Upgrading from older versions
Learn how to configure WebSSH2:
- Configuration Overview - Configuration methods and priority
- Environment Variables - Complete environment variable reference
- config.json Schema - JSON configuration file format
- URL Parameters - Query string parameters
- Constants - Built-in constants reference
Explore WebSSH2 capabilities:
- Client Features - Terminal, clipboard, search, and UI features
- SFTP File Transfer - Upload and download files through the browser
- Terminal Theming - Opt-in theming with built-in palettes and operator-injected themes
- Authentication Methods - Password, key-based, and SSO authentication
- Private Key Authentication - SSH key setup and usage
- Keyboard Interactive - Multi-factor authentication support
- Exec Channel - Non-interactive command execution
- Environment Forwarding - Pass environment variables to SSH sessions
- SSO Integration - Single Sign-On configuration
Technical API documentation:
- Routes API - HTTP endpoints and authentication
- WebSocket API - Socket.IO events and protocol
Understanding WebSSH2 internals:
- Client Architecture - Browser-side architecture and components
- Event Flow - Request and event processing flow
- System Flows - Authentication and connection flows
For contributors and developers:
- Contributing Guide - How to contribute to WebSSH2
- Development Setup - Setting up development environment
- Testing Guide - Running and writing tests
- Build Process - Building and packaging
- Build & Packaging Guide - Reproducible release artifact workflow
- PR Checklist - Before submitting pull requests
- Container & Downstream Integration - Consuming release artifacts in CI/CD
Additional resources:
- Supported Algorithms - SSH ciphers, HMACs, KEX, and FIPS mode
- Troubleshooting Guide - Common issues and solutions
- Breaking Changes - Version migration notes
- Deprecated Features - Features being phased out
- Changelog - Historical changes
Historical and reference documentation:
- Archive Directory - Older documentation for reference
export WEBSSH2_LISTEN_PORT=2222
export WEBSSH2_SSH_HOST=ssh.example.com
npm startdocker run -d \
-p 443:2222 \
-v ./certs:/certs \
-e WEBSSH2_SSL_KEY=/certs/key.pem \
-e WEBSSH2_SSL_CERT=/certs/cert.pem \
billchurch/webssh2kubectl create configmap webssh2 \
--from-literal=WEBSSH2_LISTEN_PORT=2222 \
--from-literal=WEBSSH2_SSH_HOST=bastion.internalLooking for something specific? Use your browser's search function (Ctrl+F / Cmd+F) or explore the categories above.
- Environment variables are preferred over config.json for production deployments
- Use HTTPS in production to secure credentials
- Enable debug mode with
DEBUG=webssh2:*for troubleshooting - Check breaking changes when upgrading versions
- Check the Troubleshooting Guide
- Search existing GitHub issues
- Join the discussion on GitHub Discussions
- Open a new issue with debug logs and configuration details
This documentation is maintained alongside the code. To report documentation issues or suggest improvements:
- Open an issue labeled
documentation - Submit a PR with documentation changes
- Follow the Contributing Guide