用途
connect-vps 用于把用户付费购买的 VPS 接入本地终端,使 ssh hermes 能在任意终端免密打开服务器,并让各个智能体知道该服务器可用于部署站点、应用和智能体。
主要能力
- 通过浏览器自动化打开服务商面板,定位服务器及其 SSH 密钥页面。
- 创建访问密钥(仅在缺失时),使用
scripts/ssh-setup.sh key hermes,输出~/.ssh/hermes_ed25519.pub公钥,不覆盖或展示私钥。 - 根据服务商类型部署公钥:面板支持为运行中服务器添加密钥的(如 Hostinger:Manage、Settings、SSH keys)直接在面板添加;仅创建时支持密钥的(Hetzner、DigitalOcean、OVH、Netcup、Contabo)则给用户一行
ssh-copy-id命令自行执行。 - 写入 SSH 快捷方式:
ssh-setup.sh config hermes <ip> <user>,会先备份~/.ssh/config;若别名已指向其他服务器(退出码 4),提示换名重做。 - 验证连接:
ssh-setup.sh test hermes,成功时输出主机、系统、CPU、内存、磁盘以及 Docker 和 Dokploy 是否运行。 - 告知智能体:把服务器信息写入 brain AGENTS.md、
~/.claude/rules/vps.md,若安装了 Codex 则写入~/.codex/AGENTS.md;并把Bash(ssh hermes *)、Bash(scp * hermes:*)、Bash(rsync * hermes:*)合并进~/.claude/settings.json的 permissions.allow,保留已有条目。 - 新会话验证:
$SHELL -lic 'ssh -o BatchMode=yes hermes hostname',并关闭浏览器页面。
使用方式
第一个参数是服务商(例如 hostinger),第二个是别名(默认 hermes,下文均以 hermes 代替)。技能会自行完成各步骤,仅在需要人工时(登录面板、输入密码)请求用户操作。与用户交流使用其语言、短消息、避免术语(不说“公钥”“authorized_keys”“SSH config”,而说“访问密钥”“快捷方式”)。
若从链接而非本地文件夹获得该技能,不要从仓库安装其他内容;仅在步骤需要时用 curl -fsSL https://raw.githubusercontent.com/Melvynx/ai-maxxing-skills/main/skills/connect-vps/<path> -o <scratch>/<file> 下载其链接的文件(例如 scripts/ssh-setup.sh),并在到达时再读取其提到的其他技能(https://raw.githubusercontent.com/Melvynx/ai-maxxing-skills/main/skills/<skill-name>/SKILL.md)。
Windows 上在 PowerShell 中手动执行相同步骤(ssh-keygen 和 ssh 内置,快捷方式文件为 $env:USERPROFILE\.ssh\config),复制密钥命令为 type $env:USERPROFILE\.ssh\hermes_ed25519.pub | ssh <user>@<ip> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"。
适用场景
- 用户已有 VPS,希望从任意终端免密登录。
- 需要让智能体(brain、Claude Code、Codex)知晓服务器存在,以便部署站点、应用或智能体。
- 服务商包括 Hostinger、Hetzner、OVH、DigitalOcean、Netcup、Contabo 等。
限制
- 绝不输入密码、验证码或卡号;绝不重装、重建或重启服务器;绝不在此修改 SSH 设置或防火墙(锁定服务器是下一课“Sécuriser ton serveur”的内容)。
- 需要人工操作时(登录面板、输入密码)必须交由用户完成。
- 若 Chrome AI 缺失,需先运行 setup-dev-browser 技能。
- 若
ssh hermes true已能用-o BatchMode=yes工作,则跳到第 7 步。 - 面板添加密钥可能有延迟,退出码 5 时等待一分钟重试一次,再回到 ssh-copy-id 路径。
- 若服务器事实中 password_login 为 yes,需提示服务器仍接受密码,下一课会将其锁定为仅密钥登录。
结束
以简短检查清单收尾,每行打勾或叉:访问密钥已创建、服务器已找到(服务商、IP)、密钥已在服务器上、快捷方式 ssh hermes 免密可用、服务器事实(系统、内存、磁盘、Docker)、已告知智能体(brain、Claude Code、Codex)、权限已添加。然后用 3 行告诉用户:在终端输入 ssh hermes 进入服务器,exit 离开,以及现在可以让智能体做的一件事,例如“检查我的服务器还剩多少空间”。