迁移中的数据安全:加密传输
发布时间:2026-10-04 09:01       
更新时间:2026-10-04 16:18
数据在公网传输的那几个小时,是整个迁移里安全风险最集中的时段。备份包、配置文件、数据库导出里都带着凭据和用户信息,传输必须加密,凭据必须临时。
一、传输走 rsync over ssh
rsync 走 ssh 隧道是迁移传数据的标准做法,全程加密且支持断点续传:
```
rsync -avzP -e "ssh -p 2222" /data/backup.tar.gz user@新机器IP:/data/
```
-a 保留权限和时间戳,-z 压缩,-P 显示进度并支持中断续传。大文件传完校验完整性:源和目标各执行一次 `md5sum backup.tar.gz`,哈希一致才算送达。不要用明文协议传敏感数据,数据库导出文件尤其如此。数据量达到几百 G 时分批传并排好顺序:先传业务数据,再传历史归档,切流量前必须到位的只有前者。
二、凭据用临时的
迁移期专用凭据的生命周期越短越好。做法是单独建一个只用于迁移的系统账号,禁密码登录、只放公钥,权限限定在传输目录:
```
useradd -m migrate
mkdir -p /home/migrate/transfer && chown migrate:migrate /home/migrate/transfer
```
数据库导出同理,建一个只有 SELECT 权限的临时账号,导完就删,不要拿日常账号做迁移操作。临时账号的公钥单独生成,别复用日常密钥;迁移脚本里引用的密码同样用临时的,写在脚本里的凭据随脚本一起销毁。
三、用后即废的收尾清单
迁移收尾时过一遍清单:临时账号禁用或删除,`usermod -L migrate` 加移除 authorized_keys;导出的 SQL 文件和压缩包从两台机器的磁盘上删掉,敏感数据用 shred 覆盖更稳妥;本次迁移生成的 ssh 密钥对作废;临时放宽的安全组规则收紧回去。清单执行最好两人复核,一人操作一人对照——收尾阶段人都疲惫,漏项多半出在这里。每一项划掉,迁移才算结束。
四、常见疏漏
最常见的疏漏是把迁移用的中转文件留在 /tmp 里忘了删,或者临时账号建完没禁用。收尾当天对着清单核一遍,一周后再复查一次,这类尾巴基本能清干净。
传输加密加凭据临期,成本很低,挡住的却是迁移期最常见的数据泄露路径。收尾清单执行到位,迁移才算真正画上句号。