首页
/ Sliver C2 服务器多用户模式连接问题排查指南

Sliver C2 服务器多用户模式连接问题排查指南

2025-05-25 23:13:56作者:钟日瑜

Sliver 是一个功能强大的开源 C2 框架,但在实际部署过程中可能会遇到多用户模式连接失败的问题。本文将详细分析一个典型的多用户连接故障案例,并提供完整的解决方案。

问题现象

用户在 Debian 12.5 和 Ubuntu 22.04 LTS 系统上部署 Sliver C2 服务器(v1.5.42)后,发现多用户模式无法正常工作。具体表现为:

  • 服务器端服务正常运行
  • 31337 端口监听正常
  • 客户端可以扫描到端口开放
  • 但连接时出现"Connection to server failed context deadline exceeded"错误

深入分析

通过检查服务器日志(~/.sliver/logs/sliver.log),发现关键错误信息:

ServerHandshake failed: remote error: tls: bad certificate

这表明问题出在 TLS 证书验证环节,具体原因可能有:

  1. 操作员配置文件创建时使用了错误的用户权限
  2. 证书存储路径不一致
  3. 证书创建过程中出现异常

根本原因

经过排查,确认问题是由于操作员配置文件创建时未使用与服务器相同的用户权限。Sliver 服务器以 root 用户运行,但操作员配置文件是用普通用户创建的,导致:

  • 创建的证书存储在普通用户目录下(~/.sliver)
  • 服务器运行时无法访问这些证书
  • TLS 握手失败

完整解决方案

  1. 清理环境
rm -rf /root/.sliver /root/.sliver-client
  1. 重新安装
curl https://sliver.sh/install | sudo bash
  1. 重启服务
systemctl daemon-reload
systemctl restart sliver.service
  1. 正确创建操作员配置
su root
sliver-server operator --name operator1 --lhost [服务器IP] --save /tmp/operator1.cfg
  1. 客户端配置 将创建的operator1.cfg文件复制到客户端机器的~/.sliver-client/configs/目录下

最佳实践建议

  1. 权限一致性原则
  • 始终使用与服务器运行相同的用户创建操作员配置
  • 生产环境中建议专门创建sliver用户
  1. 日志检查
  • 定期检查/root/.sliver/logs/sliver.log
  • 关注TLS相关错误信息
  1. 多用户管理
  • 为每个操作员创建独立配置
  • 定期更新证书
  1. 网络配置
  • 确保防火墙允许31337端口通信
  • 考虑使用反向代理增强安全性

总结

Sliver C2 的多用户模式依赖正确的证书管理和权限配置。通过本文的解决方案,用户可以快速恢复多用户功能。记住关键点:创建操作员配置时,必须使用与服务器运行时相同的用户权限,这是保证TLS握手成功的基础条件。

登录后查看全文
热门项目推荐
相关项目推荐