以下是一些开开源 Web Shell 工具,可以通过浏览器登录和管理 Linux 系统,适合合法运维用途(如远程管理服务器):
1. Shell In A Box
- 特点:基于 Web 的终端模拟器,通过 HTTPS 提供安全的 SSH 访问。
- 技术栈:C/Python,使用 WebSocket 或 Ajax 实现实时交互。
- 安装(Ubuntu/Debian):
sudo apt install shellinabox sudo service shellinabox start
- 访问:
https://服务器IP:4200
(默认端口)。
2. GateOne
- 特点:HTML5 终端模拟器,支持 SSH、Telnet 等,可嵌入到其他 Web 应用。
- 技术栈:Python/Tornado。
- 安装:
pip install gateone gateone
- 访问:
https://服务器IP:443
。
3. Wetty (Web + TTY)
- 特点:基于 Node.js 的 Web 终端,支持 SSH 和本地登录。
- 技术栈:Node.js/Express。
- 安装:
npm install -g wetty wetty --ssh user@localhost
- 访问:
http://服务器IP:3000
。
4. ttyd
- 特点:轻量级工具,将任意终端共享为 Web 应用(支持 Bash、Zsh 等)。
- 技术栈:C/Libwebsockets。
- 安装:
sudo apt install ttyd ttyd bash
- 访问:
http://服务器IP:7681
。
5. WebSSH
- 特点:Python 实现的 Web SSH 客户端,支持多会话。
- 技术栈:Python/Paramiko/Flask。
- GitHub:https://github.com/huashengdun/webssh
- 安装:
pip install webssh wssh
- 访问:
http://服务器IP:8888
。
6. Apache Guacamole
- 特点:企业级远程桌面/SSH 网关,支持 Web 访问。
- 技术栈:Java/HTML5。
- 安装:通过 Docker 快速部署:
docker run -d -p 8080:8080 guacamole/guacamole
- 访问:
http://服务器IP:8080/guacamole
。
安全建议
- 仅限内网使用:若暴露到公网,务必配置 HTTPS(如 Nginx 反向代理 + Let’s Encrypt)。
- 认证强化:结合 Basic Auth、OAuth 或 2FA(如 Google Authenticator)。
- 防火墙规则:限制访问 IP。