首页
/ Gravity-Sync项目SSH密钥自定义配置指南

Gravity-Sync项目SSH密钥自定义配置指南

2025-07-02 16:09:13作者:盛欣凯Ernestine

背景介绍

Gravity-Sync是一个用于在多台Pi-hole服务器间同步广告过滤列表的自动化工具。在标准配置中,该工具会自动生成ECDSA-SHA2-NISTP256类型的SSH密钥对用于服务器间的安全通信。然而,部分高级用户可能希望使用自己预先配置的ED25519密钥对,这通常是由于以下原因:

  1. 现有基础设施已建立密钥信任关系
  2. 对密钥算法有特定安全要求
  3. 需要集中管理所有服务器密钥

技术实现方案

虽然Gravity-Sync没有直接提供界面选项来更换密钥,但通过Linux系统的符号链接特性,我们可以实现密钥的自定义替换。以下是具体操作步骤:

1. 定位密钥文件

首先需要确认Gravity-Sync生成的默认密钥存储位置,通常位于:

  • 私钥:/etc/gravity-sync/gravity-sync.key
  • 公钥:/etc/gravity-sync/gravity-sync.key.pub

2. 备份原始密钥

建议在执行任何修改前进行备份:

sudo cp /etc/gravity-sync/gravity-sync.key /etc/gravity-sync/gravity-sync.key.bak
sudo cp /etc/gravity-sync/gravity-sync.key.pub /etc/gravity-sync/gravity-sync.key.pub.bak

3. 创建符号链接

假设您的自定义密钥存储在~/.ssh/id_ed25519,执行以下命令创建符号链接:

sudo ln -sf ~/.ssh/id_ed25519 /etc/gravity-sync/gravity-sync.key
sudo ln -sf ~/.ssh/id_ed25519.pub /etc/gravity-sync/gravity-sync.key.pub

4. 权限设置

确保密钥文件具有正确的权限:

sudo chmod 600 /etc/gravity-sync/gravity-sync.key
sudo chmod 644 /etc/gravity-sync/gravity-sync.key.pub

注意事项

  1. 密钥替换应在所有需要同步的Pi-hole服务器上执行
  2. 确保自定义密钥已正确配置在目标服务器的authorized_keys中
  3. 测试SSH连接是否正常工作后再进行同步操作
  4. 定期检查符号链接是否有效,避免系统更新导致配置丢失

项目现状说明

值得注意的是,Gravity-Sync项目已于2024年7月26日正式停止维护。虽然现有安装仍可继续使用,但建议用户关注替代方案或考虑自行维护修改后的版本。对于使用自定义密钥配置的用户,建议特别关注未来可能出现的兼容性问题。

安全建议

对于继续使用该方案的用户,建议:

  1. 定期轮换SSH密钥
  2. 监控密钥使用情况
  3. 考虑将ED25519密钥升级至更安全的类型(如未来出现的新算法)
  4. 保持操作系统和依赖组件的安全更新
登录后查看全文
热门项目推荐