newbietan/CloudSSH
Serverless Web SSH client built on Cloudflare Workers with a pure TypeScript SSH stack, multi-session terminals, SFTP file management, and an AI operations assistant. 基于 Cloudflare Workers 的无服务器 Web SSH 客户端,支持多会话终端、SFTP 文件管理与 AI 运维助手。
解决的问题
CloudSSH 提供了一种无需安装本地 SSH 客户端即可通过浏览器连接和管理远程服务器的方法。它利用无服务器基础设施,无需专用后端服务器,降低了用户从任何设备进行远程访问的成本和设置复杂性。
工作原理
该项目基于 Cloudflare Workers,利用 Cloudflare 的 TCP 套接字支持,在网络边缘解析并转发 SSH 协议。它使用纯 TypeScript 实现了完整的 SSH-2.0 协议栈,并通过 Web Crypto API 实现加密。
关键架构组件包括:
- Durable Objects:用于管理独立的终端会话和用户数据。
- WebSocket:实现浏览器与 Worker 之间的实时 I/O 通信。
- 边缘网络:通过最近的 Cloudflare 数据中心路由流量,确保低延迟连接。
适用人群
- 系统管理员:需要从任意浏览器轻量、安全地管理多台服务器的人。
- 开发者:希望为其远程管理工具实现零成本、无服务器部署的人。
- 高级用户:需要 SSH 跳板机(堡垒机)和通过 Web 界面进行 SFTP 文件管理等高级功能的人。
主要亮点
- 完整的 SSH-2.0 实现:自定义 TypeScript 协议栈,支持多种密钥交换算法和认证方式(密码、私钥、键盘交互)。
- SFTP 集成:使用 CodeMirror 实现的图形化文件管理器,支持浏览、上传、下载和编辑远程文件。
- SSH 跳板机支持:支持最多 3 层嵌套的 SSH 隧道,用于访问内部网络服务器。
- AI 助手:侧边栏 AI 助手(BYOK)可分析终端错误、管理 Docker 容器并执行系统命令。
- 安全功能:实现 TOFU(首次使用时信任)主机密钥验证、AES-256-GCM 加密的凭证存储,以及可选的 Cloudflare Turnstile CAPTCHA。
- 无服务器部署:通过 GitHub 一键部署至 Cloudflare Workers,无需服务器维护成本。
相关
- 项目
- 项目
- 项目
- 项目