Web SSH Terminal is a self-hosted application that offers secure SSH access directly from the browser. It features multi-session support, split panes for monitoring multiple servers, and a dual-pane SFTP file manager for seamless file transfers, making it ideal for server management and teams.
WebSSH is a modern, feature-rich web-based SSH terminal that facilitates secure server management directly from any web browser. It is ideal for homelabs, developers, and teams requiring seamless browser-based terminal access, combining SSH functionality with an integrated SFTP file manager.
Key Features
Terminal Functionality
- Multi-Session Support: Manage up to 10 concurrent SSH sessions using tabs for efficient multitasking.
- Split Panes: Monitor multiple servers simultaneously with a 2x2 grid layout.
- Session Persistence: Sessions remain active even after page refreshes, ensuring continuity.
- Full Clipboard Support: Easily copy and paste between the terminal and local machine.
- Keyboard Shortcuts: Utilize Vim-style navigation for a streamlined experience.
SFTP File Manager
- Dual-Pane Browser: Browse files side-by-side for easier file management.
- Drag & Drop: Transfer files effortlessly between local and remote servers.
- Server-to-Server Transfers: Direct file movement between SSH hosts.
- Batch Operations: Execute multiple file actions simultaneously with multi-selection.
- Context Menu: Access quick actions through a right-click menu.
Security Measures
- Encrypted Key Storage: SSH keys are stored securely using AES-256 encryption.
- Robust Authentication: Passwords are hashed with bcrypt to enhance security.
- CSRF Protection: Implemented token-based validation for requests.
- Rate Limiting: Safeguards against brute-force attacks.
- Security Headers: Includes HSTS, CSP, and X-Frame-Options for additional protection.
Customization Options
- Multiple Themes: Choose from 10 different themes to suit user preferences.
- Multi-Language Support: Available in English, German, French, Spanish, and Chinese.
- Connection Profiles: Save server configurations for quick access.
- Command Library: Store frequently used commands for easy retrieval.
Deployment
- Docker & Docker Compose: Simplifies setup with single-command deployment options and health checks.
- Reverse Proxy Compatibility: Ready for use with Traefik, nginx, and Caddy, with detailed examples provided.
- Subfolder Hosting: Capable of being hosted under a URL subpath, such as
/webssh, for flexibility in deployment. - Homelab Friendly: Offers wildcard CORS mode for internal networks.
Getting Started
For those looking to quickly set up WebSSH, the recommended method is using Docker. Example command for Docker deployment:
# Generate a secure secret key
export SECRET_KEY=$(openssl rand -hex 32)
# Run with Docker
docker run -d \
--name webssh \
-p 5000:5000 \
-e SECRET_KEY=$SECRET_KEY \
-e CORS_ORIGINS=http://localhost:5000 \
-v webssh_data:/app/data \
--restart unless-stopped \
ghcr.io/bifrost0x/webssh:latest
After deployment, access the interface at http://localhost:5000 to create the first user account.
Conclusion
WebSSH combines intuitive design with robust security features, making it a comprehensive solution for anyone needing secure terminal access via a web browser. With its variety of features and customization options, WebSSH aims to enhance user productivity in server management.
No comments yet.
Sign in to be the first to comment.