告别商业堡垒机!Casvisor:一个Go二进制搞定SSH/RDP/VNC/Telnet,Apache-2.0无企业版阉割!缩略图
DISCOVER SOMETHING GOOD

Casvisor

一个用于 SSH、RDP、VNC 和 Telnet 的开源堡垒机(跳板机),使用 Go 和 React 编写。 Casvisor 位于管理服务器的人员与服务器本身之间。人们从浏览器标签页打开 SSH、RDP、VNC 和 Telnet 会话,或通过 Casvisor 的 SSH 网关使用自己的 ssh、scp 和 VS Code。

GitHub 仓库 访问官网

在运维安全领域,堡垒机是绕不开的基础设施。但现实往往很骨感:商业产品动辄数十万授权费,开源方案又常常在关键功能上“留一手”逼你买企业版。

今天介绍的 Casvisor,是一个真正 “Apache-2.0、无企业版” 的开源堡垒机。它用一个Go二进制文件承载了SSH、RDP、VNC、Telnet四种协议的完整能力,自带会话录制、命令审计、权限控制和补丁管理——所有功能都在开源项目中,没有付费墙。

1. 核心哲学:一个二进制,四种协议,零依赖

Casvisor的设计极其克制:

  • 📦 单二进制部署:Go编译,无需Python/Java/.NET运行时
  • 🗄️ 开箱即用SQLite:默认零数据库依赖,生产环境可切换MySQL
  • 🔌 服务端零安装:目标服务器无需安装任何Agent或插件
  • 🌐 浏览器即终端:xterm.js终端+SFTP文件面板,无需本地客户端

2. 四协议全覆盖:不是模拟,是原生实现

协议实现方式亮点特性
SSHxterm.js + SFTP文件上传下载、命令记录、asciicast导出
RDPgordp(纯Go RDP客户端)NLA认证、GFX图形管线、高DPI清晰文本、远程光标、剪贴板、驱动器重定向文件传输
VNCnoVNCCasvisor代理认证,密码不离开服务器
Telnet原生实现网络设备/旧系统支持,资产账户自动登录

特别值得一提的是gordp:这是一个纯Go实现的RDP客户端,支持ClearCodec、RemoteFX Progressive等现代图形管线,在高DPI屏幕上文字清晰锐利,体验接近Windows原生远程桌面。这意味着你不再需要依赖FreeRDP或Guacamole等外部组件。

3. SSH网关:VS Code/Xshell/rsync无缝接入

除了浏览器访问,Casvisor在端口2222提供标准SSH网关:

ssh -p 2222 [email protected]
  • 用户使用自己的公钥登录,权限与Web端一致
  • 支持scp、sftp、rsync、Xshell、VS Code Remote
  • 密码和私钥由Casvisor加密存储并自动填充,用户永远看不到服务器凭据
  • SSH主机密钥和RDP证书首次使用时自动固定,防止中间人攻击

4. 安全控制:可读策略+即时撤销

  • Casbin权限引擎:对用户/组/资产/标签定义连接、复制、粘贴、上传、下载、转发等操作权限,支持IP范围和时间窗口
  • 命令规则:正则匹配阻止或标记危险命令,Web终端和SSH网关同等生效
  • 即时撤销:权限编辑/删除/过期后,已打开的会话立即断开,不存在“改完权限还能继续操作”的窗口期
  • SSO/MFA/LDAP:通过Casdoor集成,支持社交登录和多因素认证

5. 审计能力:录制、回放、命令记录全开源

这是很多开源堡垒机的“付费功能区”,Casvisor全部开放:

  • 🎬 会话录制与回放:SSH/Telnet/VNC/RDP全协议录制,浏览器内原样重放
  • 📥 录制导出:SSH/Telnet录制可下载为asciicast格式
  • 👁️ 实时监控:在线会话实时查看,可随时强制终止
  • ⌨️ 命令记录:从虚拟屏幕读取,Tab补全、历史记录、行编辑均按运行时原样捕获
  • 📋 操作日志:文件传输和API变更全量记录

6. 网络网关:穿透NAT和跨数据中心

对于Casvisor无法直连的资产,提供两种网关方案:

类型适用场景原理
SSH跳板主机可通过SSH登录的中转服务器sshd需开启AllowTcpForwarding,无需安装任何东西
Agent代理完全隔离的私有网络同一二进制以agent模式运行,WebSocket出站连接,只要HTTPS能出去就能工作

Agent不监听任何端口,只连接到网关允许的白名单网络,安全性极高。

7. 附加能力:补丁管理+多语言控制台

  • 补丁管理:扫描并安装Windows Update / apt / dnf / yum待处理更新,支持重启
  • 9种语言Web控制台:React + Vite + shadcn/ui,RESTful API + Swagger文档
  • 录制管理:自定义存储路径、保留天数、可关闭录制

8. 快速开始:一条Docker命令

docker run -d --name casvisor -p 19000:19000 -p 2222:2222 \
  -v casvisor-db:/db -v casvisor-recordings:/recordings casbin/casvisor
docker logs casvisor  # 获取初始admin密码

访问 http://localhost:19000,登录后在“我的账户”中修改密码。添加资产即可连接。

源码构建:需要Go 1.23 + Node.js 20 + Yarn,go run main.go 即可启动。

9. 与同类产品的定位差异

维度CasvisorJumpServerTeleport
许可证Apache-2.0,无企业版社区版+企业版开源版+Cloud版
部署复杂度单二进制+SQLite多组件+MySQL/Redis多组件+etcd
RDP实现纯Go原生(gordp)Guacamole(Java)依赖外部RDP代理
会话录制全协议开源部分功能企业版Cloud版专属
资源占用~50MB RAMGB级GB级

Casvisor的定位很清晰:给中小团队和个人开发者一个“够用、好用、完全免费”的堡垒机选择。它不追求JumpServer的功能广度,但在核心安全能力上毫不妥协。

如果你的团队正在寻找一个轻量、透明、可审计的跳板机方案,或者受够了商业产品的授权费和功能限制,Casvisor值得你花10分钟试一试。

GOOD TOOLS ARE BETTER TOGETHER

分享到社交平台

微微博QQQ 好友☆QQ 空间XX↗Telegram

复制链接后,也可以粘贴到微信或其他社交平台。