type
status
date
slug
summary
tags
category
icon
password

VPS间自动同步SSL证书配置指南

场景说明

两台VPS(vpsA和vpsB)在同一局域网内,需要实现vpsB每6天自动从vpsA同步x-ui的SSL证书文件。
环境信息:
  • vpsA IP: 192.168.1.250(证书源服务器)
  • vpsB IP: 192.168.1.251(证书目标服务器)
  • 证书路径: /etc/x-ui/server.crt/etc/x-ui/server.key

一、在vpsA上的配置

1.1 创建同步专用用户

1.2 安装rsync工具

1.3 创建证书文件副本目录

由于证书文件权限限制,需要创建syncuser可读的副本:

1.4 创建自动更新副本的脚本

1.5 设置定时任务自动更新副本


二、在vpsB上的配置

2.1 生成SSH密钥对

2.2 配置SSH密钥认证

方法一:使用ssh-copy-id(推荐)

方法二:手动配置

2.3 测试SSH连接

2.4 创建同步脚本

2.5 测试同步脚本

2.6 设置定时任务


三、验证和维护

3.1 验证证书内容一致性

3.2 查看备份文件

3.3 查看同步日志

3.4 手动触发同步


四、安全建议

  1. SSH密钥安全
      • 定期轮换SSH密钥(建议每年一次)
      • 保护好私钥文件权限(600)
      • 不要在多个系统间共享同一密钥
  1. 网络安全
      • 确保SSH连接只在局域网内进行
      • 考虑使用防火墙限制SSH访问源IP
      • 禁用syncuser的密码登录
  1. 权限最小化
      • syncuser只有读取证书副本的权限
      • 不给syncuser sudo权限
      • 定期审查用户权限
  1. 监控和告警
      • 定期检查同步日志
      • 设置日志监控告警(可选)
      • 验证证书有效期
  1. 备份策略
      • 保留最近10个证书备份
      • 定期测试备份恢复流程
      • 考虑异地备份重要证书

五、故障排查

5.1 SSH连接失败

5.2 权限问题

5.3 rsync失败

5.4 服务重启失败


六、工作流程总结

自动化流程

  1. vpsA每10分钟:自动更新 /home/syncuser/certs/ 中的证书副本
  1. vpsB每6天
      • 备份当前证书
      • 删除旧证书
      • 从vpsA同步新证书
      • 重启x-ui服务
      • 清理过期备份(保留最近10个)

文件路径说明

vpsA:
  • 原始证书:/etc/x-ui/server.crt/etc/x-ui/server.key
  • 证书副本:/home/syncuser/certs/server.crtserver.key
  • 更新脚本:/usr/local/bin/update-cert-copies.sh
vpsB:
  • 证书目录:/etc/x-ui/server.crt/etc/x-ui/server.key
  • 同步脚本:/root/sync_certs.sh
  • SSH密钥:/root/.ssh/cert_sync_key
  • 备份目录:/backup/x-ui-certs/
  • 同步日志:/var/log/cert-sync.log

七、常见问题

Q: 如果vpsA的证书更新了,vpsB多久能同步? A: vpsA每10分钟更新副本,vpsB每6天同步一次。如需立即同步,可在vpsB上手动执行 ~/sync_certs.sh
Q: 如果同步失败会怎样? A: 脚本会自动恢复最近的备份,确保服务不中断。查看日志排查问题后可手动重试。
Q: 如何修改同步频率? A: 编辑vpsB的crontab,修改 */6 为其他天数。例如每3天:0 2 */3 * * /root/sync_certs.sh
Q: 备份文件会占用很多空间吗? A: 证书文件很小(几KB),保留10个备份通常不超过50KB。
Q: 可以同步其他文件吗? A: 可以修改脚本中的文件路径,但需确保权限配置正确。

结语

本方案通过SSH密钥认证 + rsync实现了安全、自动化的证书同步,具有以下优势:
  • 安全性高:使用SSH密钥认证,权限最小化
  • 自动化:无需人工干预,定时自动同步
  • 容错性强:自动备份和恢复机制
  • 易于维护:详细日志和错误处理
  • 可扩展:可轻松适配其他文件或服务
希望这个配置指南对你有帮助!
Relate Posts
Debian 系统安装 ZeroTierrustdesk自建服务器
Loading...
plnl
plnl
一个IT从业小菜鸡,请各位大佬多多指教
Latest posts
群晖 DSM 7.2 安装ZeroTierDocker完整教程
2025-11-4
Debian 系统安装 ZeroTier
2025-11-4
rclone VPS间单向实时同步
2025-10-28
在同一局域网内VPS间自动同步SSL证书配置指南
2025-10-21
rustdesk自建服务器
2025-9-12
如何将 Debian 11 升级到 Debian 12
2025-3-28
Announcement
🎉NotionNext 4.5已经上线🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏