Hermes Agent 服务器安全防护 3 项必做教程,SSH 加固与 GitHub 自动备份 (封面图)

Hermes Agent 进阶教程:服务器安全防护 3 项必做 + GitHub 自动化备份,打造密不透风的安全屋

用 Hermes Agent 的人越来越多,但有个问题几乎没人认真对待:安全。

你的聊天记录、个人信息,甚至密码和 API 密钥,如果不做基础检查和配置,随时处在暴露风险中。而一个能跑 shell 命令、能读写文件的 AI Agent 一旦被攻破,后果比普通网站被黑严重得多。

这篇教程分两部分,把你的 Hermes Agent 打造成密不透风的安全屋:第一部分做服务器安全加固,第二部分做数据自动化备份。 不会复杂命令也没关系——文中所有操作都附提示词,直接丢给 AI 执行。但注意事项一定要先读完再动手

第一部分:服务器安全三项必做

最可怕的不是服务器出了问题,而是出了问题你还不自知。公网环境极其恶劣:默认 22 端口 + 密码登录,就是黑客脚本的重点扫描对象。想不沦为肉鸡,以下三项必做。

第 1 项:修改 SSH 默认端口

把默认的 22 端口改为 20000-65535 之间的高位端口,可以规避 99% 的无差别自动化扫描。

提示词(直接发给 AI):

请检查当前 Linux 系统和 SSH 配置,备份配置文件后,从 20000-65535 中选择一个未占用的端口并修改 SSH 配置。先放行新端口并暂时保留 22 端口,执行配置检查后重新加载 SSH,确认新端口正在监听。最后给出新端口的登录测试命令和回滚方法;遇到错误立即停止。

注意提示词里的两个安全设计:暂时保留 22 端口(新端口验证成功前不断后路)、要求给出回滚方法(改错了能恢复)。

第 2 项:禁用密码登录,改用密钥认证

密码泄露是服务器失守的最大入口。配置 SSH 密钥对,只允许持有私钥的客户端登录,彻底关闭密码验证——密钥登录基本杜绝了撞库和暴力扫描

提示词:

请检查当前用户的 SSH 公钥和 authorized_keys 权限。如果没有公钥,指导我在本地生成 Ed25519 密钥,我只会提供公钥,绝不提供私钥。备份 SSH 配置,启用密钥认证;等我在另一个终端确认密钥登录成功后,再关闭密码和交互式认证。修改后检查配置、重新加载服务,并给出验证结果和回滚方法。

两个关键点:Ed25519 算法(比传统 RSA 更短更安全);绝不把私钥发给 AI——只提供公钥,私钥永远留在本地。

第 3 项:配置防火墙 + Fail2Ban

启用 UFW 防火墙放行新端口,启用 Fail2Ban 监控 SSH 日志,自动封禁多次试错的恶意 IP

提示词:

请检查服务器当前的防火墙、SSH 端口和正在使用的业务端口。备份现有规则,先放行新的 SSH 端口和必要业务端口,再启用 UFW,设置为默认拒绝入站、允许出站。随后安装并配置 Fail2Ban 保护新的 SSH 端口,使用 maxretry=5、findtime=10m、bantime=1h,并检查防火墙、Fail2Ban 和 SSH 是否正常。不要覆盖现有规则,最后给出配置结果和回滚方法。

配置思路:默认拒绝入站、允许出站(最小权限原则),Fail2Ban 参数 maxretry=5、findtime=10m、bantime=1h10 分钟内错 5 次封 1 小时)。

⚠️ 动手前必读(防踩坑清单)

  • 不要关闭当前 SSH 窗口——在另一个终端确认新端口和密钥能正常登录后再操作
  • 云服务器要在安全组放行新端口(很多人改了端口忘了安全组,直接把自己锁外面)
  • 新登录方式验证成功前,不要关闭 22 端口或密码登录
  • 私钥绝不发给 AI
  • 执行前先创建服务器快照,或确保能通过云厂商控制台救援模式恢复
Hermes Agent 服务器安全防护 3 项必做教程,SSH 加固与 GitHub 自动备份 (三项防护流程)

第二部分:GitHub 自动化备份

天灾人祸不可避免——哪怕服务器在云端,也可能故障导致数据不可用。备份方式很多,但最安全高效的是 GitHub 仓库

  1. 一个邮箱即可注册,提供账号和 API Key 两种授权,官方工具 gh 接口完善,AI 可以自主完成全部操作
  2. GitHub 本身就是 AI 使用者的必备技能——海量开源工具和项目都在上面

安装:sudo apt install gh

登录账户(两种方式)

方式一:账户授权(简单)——gh auth login,选 GitHub → HTTPS 浏览器授权,页面会给出 URL 和 Code,在已登录 GitHub 的浏览器里输入 Code 即可。适合单项目用户;多账户多项目不推荐(权限过大容易互相污染)。

方式二:Fine-grained API Key(精细)——GitHub 设置 → Developer settings → Personal access tokens → Fine-grained tokens,可精确控制 Key 的权限范围、项目范围和有效期,然后 gh auth login 选 Auth Token 填入。颗粒度细,适合多项目。

备份范围划分(关键一步)

不能什么都往仓库塞——效率低,而且单个 GitHub 仓库有容量上限。原则一句话:

备份"手工维护、唯一且不可重新产生"的资产;不备份"运行时自动生成"的东西。

✅ 需要备份

内容说明
SOUL.mdAI 的性格属性
config.yaml基础配置项
skills/你的技能库
scripts/自定义脚本
wiki / 观点库观点沉淀(如有)
cron/jobs.json自动化任务定义

这些每一项都独一无二,丢了基本无法还原。

Hermes Agent 服务器安全防护 3 项必做教程,SSH 加固与 GitHub 自动备份 (备份范围划分)

❌ 不需要备份

.env含密钥,基于保密不推荐备份)、auth.json(授权信息)、sessions/(聊天记录,想回溯可单独备)、logs/cache/executions.dbticker/lock 文件、node/lsp 依赖产物。

设置自动化备份任务

范围划好后,一句话让 Hermes Agent 设置每天凌晨 3 点的定时任务。提示词:

每天对 Hermes 做一次轻量配置备份,只保留可重建能力,不备份运行时垃圾和敏感凭据。

备份范围:
1. 主 profile 的 SOUL.md 和 config.yaml
2. 其他 profile 的 SOUL.md 和 config.yaml(如果存在)
3. ~/.hermes/skills/
4. ~/.hermes/scripts/
5. wiki 目录
6. ~/.hermes/vault/opinions/(如果存在)
7. 各 profile 的 cron/jobs.json(如果存在)

不要备份:.env、auth.json、sessions/、state.db、logs/、cache/、executions.db、ticker/lock 文件、node/lsp/安装产物

执行要求:
- 目标仓库:/root/hermes-backup
- 用同步方式覆盖旧内容,源不存在就删除目标对应文件
- git add -A;只有有变更时才 commit 和 push
- commit message: auto backup YYYY-MM-DD_HH:MM
- 失败时输出明确错误,不要静默吞掉

一个真实的踩坑教训

原教程作者特别强调:配置好后,隔天一定要去 GitHub 仓库确认备份真的成功了。

他自己就踩过坑——定时任务设置后实际没执行成功,但没有输出任何报错,导致他一直以为备份在正常跑。所以提示词最后那句"失败时输出明确错误,不要静默吞掉"不是客气话,是血泪教训。

写在最后

只有经历过数据丢失或服务器被黑的人,才知道这两件事的重要性。

三项安全加固(高位端口 + 密钥认证 + 防火墙 Fail2Ban)防住的是"进来的贼",自动化备份防住的是"意外的灾"两套配置各花半小时,换来的是之后每一天的安心。

不要等出了问题再找补救方法——未雨绸缪,永远给自己留后手。

本文最后更新于2026年8月2日,若涉及的内容可能已经失效,直接留言反馈补链即可,我们会处理,谢谢
声明:本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿用于任何商业目的与商业用途,如需商用请支持正版!如亲下载后改变其用途与使用方式,与本站无任何关系,本站已经进行告知义务!我们只做安全认证测试如果资源侵犯了您的版权利益,请联系站长邮箱:17606723350@163.com