一键迁移服务器
换 VPS 时,不用在新机器上把节点重新搭一遍。PSM 能把整台服务器原样搬过去:密钥、UUID、密码都不变,客户端也就不用改。
一条命令搬家
在旧服务器上执行:
bash
psm migrate push root@新服务器IP新服务器只要能用 SSH 登录,什么都不用装。PSM 会:
- 在旧服务器上打包所有配置;
- 通过 SSH 把 PSM 和迁移包传到新服务器(新服务器是 Alpine 时会先装好 bash);
- 在新服务器上安装同样版本的内核,还原配置,按新系统重新生成服务、防火墙规则和证书续期任务;
- 最后运行一次
psm doctor,把检查结果显示出来。
非 22 端口或用密钥登录:
bash
psm migrate push root@新服务器IP --port 2222 --identity ~/.ssh/id_ed25519先导出,再导入
不方便从旧服务器直接连新服务器时,分两步:
bash
# 旧服务器:导出加密迁移包(会提示设置口令)
psm migrate export --encrypt
# 把文件拷到新服务器,装好 PSM 后导入
psm migrate import /root/psm-migrate-xxxx.tgz迁移包里是全部私钥和密码
只通过 SSH 传输,导入后删除。建议始终加 --encrypt。
会迁移什么
| 内容 | 说明 |
|---|---|
| 所有节点和密钥 | Xray、sing-box、mihomo 的配置和 PSM 的节点记录 |
| 证书和 acme.sh 账户 | 续期任务会改成指向新服务器 |
| Nginx 443 分流和伪装网站 | Nginx 会在新服务器上重新安装 |
| 在线订阅和多用户 | 订阅地址不变,里面的 IP 换成新服务器的 |
| 端口跳跃、流量统计、定时任务 | 在新系统上重新注册 |
独立安装的 Hysteria2、ss-rust、Snell、realm 只迁移配置,程序需要在新服务器的菜单里重新安装。
迁移之后要做的
- 用域名连接的节点:把域名解析改到新服务器的 IP,客户端就能继续用。
- 用 IP 连接的节点:分享链接里的 IP 变了,重新发一次链接,或让客户端刷新订阅。
新服务器上已经有节点时,导入会被拒绝;确认要覆盖就加 --force(覆盖前会先备份)。Debian 和 Alpine 之间可以互相迁移,已经实际测试过。