WebSSH is a powerful, modern, and highly secure web-based SSH terminal and SFTP file manager. Built with Vue 3, Node.js, and xterm.js, it offers a seamless command-line experience directly from your browser, eliminating the need to install any local SSH clients.
Deploying WebSSH using Docker is the fastest and recommended way. You will need to mount the ports and inject environment variables for the database and encryption keys.
docker run -d \
--name webssh-app \
-p 3000:3000 \
-e DB_HOST=your-mysql-host \
-e DB_PORT=3306 \
-e DB_USER=webssh_user \
-e DB_PASSWORD=your-db-password \
-e DB_NAME=webssh \
-e JWT_SECRET=your-jwt-secret \
-e ENCRYPTION_KEY=your-32-byte-encryption-key \
dalaolala/webssh:latest
š Important Environment Variables JWT_SECRET: A strong secret key used for generating user authentication tokens. You can easily generate one using: openssl rand -base64 32 ENCRYPTION_KEY: A strictly 32-byte key used to encrypt connection credentials in the database. Generate one using: openssl rand -hex 16 (Note: If you plan to use the standard database mode to save servers permanently, you will need an external MySQL server and import the initialization SQL script into it).
š” How to Use "Local Mode" (No Server Configuration Required) Don't want to setup a MySQL database? No problem! Once the container is running and you log in, navigate to the Local Mode page. From there, you can enter any SSH details directly. Your configurations and sessions will be entirely handled by your web browser, communicating with the Node.js backend purely as a stateless stateless proxy.
š Tech Stack Frontend: Vue 3, Vite, Element Plus, xterm.js, Monaco Editor Backend: Node.js, Express, Socket.IO, ssh2 Security: crypto-js, node-forge (RSA-OAEP, AES-256-CBC) For source code, issues, and detailed manual deployment instructions, please visit our GitHub Repositoryā .
Content type
Image
Digest
sha256:7be1e1e29ā¦
Size
51.2 MB
Last updated
4 months ago
docker pull dalaolala/webssh