首页/网络/常用端口速查/2401 CVS pserver 版本库服务
2000-2999 注册端口60 条

2401 CVS pserver 版本库服务

CVS 的 pserver 协议端口:老式版本控制在无 SSH 环境下用账号口令直连仓库,曾是源码泄露的常见入口。

常用端口速查网络更新于 2026-10-13

CVS pserver 版本库服务

2401 是 CVS 的 pserver 协议端口,IANA 登记名为 cvspserver。CVS 是上世纪的集中式版本控制工具,在没有 SSH 通道的环境里,团队用 pserver 模式让客户端用账号口令直连仓库读写代码。口令在传输中只做弱混淆而不是加密,嗅探即可还原,因此它长期是源码泄露的常见入口。

基本信息

服务CVS pserver(cvspserver)
协议TCP
认证方式口令明文交互,仅做弱混淆
访问模式读写账号与匿名只读账号
安全等级禁止跨网段开放

典型使用场景

  • 老项目仍在用 CVS,需要保留 pserver 供构建机检出代码
  • 排查检出失败、认证被拒时确认 2401 连通性与仓库路径
  • 资产梳理时把 2401 列入待迁移的历史遗留服务清单
  • 安全加固时核对匿名只读账号的权限范围
  • 规划源码平台迁移,评估还有多少脚本硬编码了 pserver 地址

客户端用法与暴露面确认

客户端用法与暴露面确认
cvs -d :pserver:user@repo.example.com:/cvsroot login   # 登录
cvs -d :pserver:user@repo.example.com:/cvsroot co module   # 检出模块
nc -zv repo.example.com 2401              # 从网络侧确认可达
ss -lntp | grep ':2401 '                  # 服务端确认监听

pserver 与替代方案

方案加密能力现状
CVS pserver明文口令弱混淆历史遗留,仍有少量在用
CVS over SSHSSH 通道全程加密保留 CVS 时的过渡做法
SVN支持 https 与 svn+ssh集中式版本控制的后继者
Git支持 ssh 与 https当前主流,生态完整
若必须保留 pserver,应把来源限制在构建机与办公网固定网段,并收紧匿名账号权限。更彻底的做法是改为 CVS over SSH,或直接迁移到 Git、SVN;留着一个匿名可读的老仓库,等于长期开放源码下载。
凭证残留:pserver 模式下客户端会把经过弱编码的口令存进 .cvspass 文件,机器跨网复制或镜像备份都会把凭证一起带走。清理历史系统时别只删仓库,这类文件也要一并处理。
常见误解是把 2401 当成 SSH 的替代端口:CVS 的 pserver 与 CVS over SSH 是两种不同接入方式,后者复用 22 端口。排查时先看仓库地址前缀,写的是 :pserver: 还是 :ext:,一眼就能确定流量走哪条通道。

易错点

  • 匿名 pserver 权限未收紧:全仓库源码可被批量导出,且几乎没有访问痕迹
  • 把 2401 直接暴露公网:明文口令可被嗅探还原,账号随即失守
  • 只在防火墙上封了 2401 没改客户端配置:使用方换路径继续以 pserver 方式访问,问题被掩盖
  • 迁移时只搬代码不搬版本历史:后续的追溯与回溯能力直接丢失

数据来源与参考

  • IANA 端口注册表(cvspserver)
  • CVS 官方手册(pserver 模式)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌