EMS 知识库
首页 / output

服务器接入指引

需求号:REQ-001 / REQ-002 | 用途:W 组(网站)与 F 组(飞书)的硬前置 2026-10-15 环境变更:目标服务器与域名已更换,本文件已同步更新。


一、新环境(目标)

项值实测状态
公网 IP47.239.25.159✅ ping 通(约 129 ms)
域名xiao-ma.xoato.com✅ 解析正常,指向上述 IP
SSH 端口22✅ 开放
Web 端口80 / 443❌ 不通/被过滤 —— 还没有 Web 服务
登录用户名需要你确认❓
SSH 认证见下方方案❓

重要:新服务器目前只有 SSH,没有 Web 服务。也就是说线上还没有任何页面。 要"承接之前的功能",nginx 站点、/mcp 网关、agent-gateway 服务、TLS 证书都要重新部署。

二、旧环境(已决定退役,方案 A)

项值实测状态
公网 IP8.133.19.10⚠️ 仍在线,http://8.133.19.10 返回 200
域名maxiao.xoato.com⚠️ 仍解析正常
现有内容「椰果的故障诊断 Agent」首页、/test.html、/mcp 网关、/healthz运行中

这里有个必须你来定的问题:旧服务器上的「故障诊断 Agent」和 /mcp 网关是唯一已经跑通的既有功能, 飞书 aily 现在也在调它。新服务器是白板。

已决定:方案 A —— 旧机退役,全部搬到新机 ✅(2026-10-15,ADR-015)

方案 A 的执行细节、步骤顺序、回滚方案见 迁移方案.md。 一条最重要的原则:旧机全程不改、只读 —— 只要旧机不动,回滚就等于改一条 DNS 解析。


三、我需要什么

项说明状态
新服务器登录用户名阿里云 Linux 常见为 root;部分镜像为 ecs-user / admin❓ 仍缺这一项
新服务器认证方式走 SSH 公钥(见第四节)❓ 待你操作
旧服务器 SSH 访问权方案 A 要迁走旧机上的网关与配置,必须能登旧机❓ 从未取得
阿里云安全组放行新机 80/443现实测全不通;安全组是云平台层,机器内改防火墙无效❓ 待你操作
旧服务器是否退役✅ 已决定:A(ADR-015)已确认
旧服务器的 MCP_API_KEY若要迁移,需要从旧机 /etc/agent/agent.env 读;有 SSH 后我自己读暂不需要你给

四、我这边已经准备好了

为避免在聊天里传密码,已在你本机生成专用密钥对:

(只存在你本机,我不会把内容写进任何文件,也不会发到任何地方)

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGUyna0WYgCMgN/qrTlb+Z7a5zXBHGabVHMX0p7xSKS kimi-ems-deploy

五、给两台机器装公钥(不用重启)

  1. 打开阿里云控制台 → 搜「云服务器 ECS」→ 左侧「实例与镜像 → 实例」
  2. 找到公网 IP 为 47.239.25.159 的那台 → 点右侧「远程连接」
  3. 选「Workbench」(或 VNC),按提示登录
  4. 登进去后是一个终端,把下面整段粘进去回车:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGUyna0WYgCMgN/qrTlb+Z7a5zXBHGabVHMX0p7xSKS kimi-ems-deploy' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
whoami
uname -a
echo OK
  1. 看到 OK,把 whoami 的输出告诉我(root?ecs-user?)—— 这是我还缺的关键一项。

旧机 8.133.19.10 也要装同一把公钥

方案 A 要从旧机迁走网关与配置,所以旧机也得能登。 做法完全一样:阿里云控制台 → 找到 8.133.19.10 那台 → 「远程连接」→ Workbench → 粘上面同一段命令。

旧机是只读使用(只往外导出配置,不改任何文件),但登不上去就迁不了。

我会做的验证

# 新机
ssh -i ~/.ssh/id_ems_deploy <用户名>@47.239.25.159 'hostname; uname -a; whoami'
# 旧机(只读)
ssh -i ~/.ssh/id_ems_deploy <用户名>@8.133.19.10 'hostname; uname -a; whoami'

备选:导入密钥对(需重启实例)

控制台 → ECS → 「网络与安全 → 密钥对」→「创建密钥对」→「导入已有密钥对」→ 粘贴上面的公钥 → 回实例列表「更多 → 密码/密钥 → 绑定密钥对」。 ⚠️ 阿里云会要求重启实例。

六、为什么不能直接用密码

你本机没装 sshpass,ssh 走密码认证时必须在终端人工敲,我无法自动化。 若确实想用密码,替代做法是你手动执行一次:

ssh-copy-id -i ~/.ssh/id_ems_deploy.pub <用户名>@47.239.25.159

输一次密码,公钥就装好了 —— 效果和第五节一样,密码不用告诉我。


七、拿到访问权后我立刻做什么

先只读盘点 + 两台全量备份 + 回滚演练,再谈改动。 完整步骤见 迁移方案.md,这里只列头几步:

  1. 盘点旧机(只读):nginx 站点配置、站点根目录、/etc/agent/(只看键名不看值)、

agent-gateway 服务单元、pi 到底是什么、证书签发方式、运行时清单 —— 这是迁移的源

  1. 盘点新机:OS 版本、已装运行时、端口占用、是否已有站点残留、sudo 权限
  2. 两台全量备份,拉回本机一份,写 rollback.sh 并实际演练一次还原
  3. 盘点结果写入 docs/output/服务器现状盘点.md

第 3 步的回滚演练通过之前,我不动任何线上文件。


八、安全约定