Skip to content

一键迁移服务器

换 VPS 时,不用在新机器上把节点重新搭一遍。PSM 能把整台服务器原样搬过去:密钥、UUID、密码都不变,客户端也就不用改。

一条命令搬家

旧服务器上执行:

bash
psm migrate push root@新服务器IP

新服务器只要能用 SSH 登录,什么都不用装。PSM 会:

  1. 在旧服务器上打包所有配置;
  2. 通过 SSH 把 PSM 和迁移包传到新服务器(新服务器是 Alpine 时会先装好 bash);
  3. 在新服务器上安装同样版本的内核,还原配置,按新系统重新生成服务、防火墙规则和证书续期任务;
  4. 最后运行一次 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 之间可以互相迁移,已经实际测试过。

基于 AGPL-3.0 许可发布 · 仅用于合法用途,请遵守当地法律法规