PitchHut logo
A powerful web-based SSH terminal with built-in SFTP support.
Pitch

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.

Description

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.

0 comments

No comments yet.

Sign in to be the first to comment.