在 CentOS 上备份 SSH 配置,通常只需要备份 SSH 服务端配置文件 以及相关的 密钥、目录结构。下面按常见场景给你一个完整、安全的做法。
CentOS 中 SSH 相关文件一般在:
/etc/ssh/
核心文件包括:
| 文件 / 目录 | 说明 |
|---|---|
/etc/ssh/sshd_config |
SSH 服务端主配置文件(最重要) |
/etc/ssh/ssh_config |
SSH 客户端配置(可选) |
/etc/ssh/sshd_config.d/*.conf |
CentOS 8+ 的子配置(如有) |
/etc/ssh/ssh_host_* |
SSH 主机密钥(非常重要) |
/etc/ssh 目录(最安全)cp -a /etc/ssh /etc/ssh.bak
或打包成压缩文件(便于迁移):
tar czvf ssh_backup_$(date +%F).tar.gz /etc/ssh
例如:
ssh_backup_2026-01-21.tar.gz
如果你只关心配置,不关心密钥:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
或:
tar czvf sshd_config_backup.tar.gz /etc/ssh/sshd_config
⚠️ 不推荐用于恢复服务器,因为缺少 host key。
如果你要 完整恢复 SSH 服务(避免客户端报警),必须备份 host key:
tar czvf ssh_host_keys_backup.tar.gz /etc/ssh/ssh_host_*
恢复时:
tar xzvf ssh_host_keys_backup.tar.gz -C /
tar czvf ssh_full_backup.tar.gz /etc/ssh
scp ssh_full_backup.tar.gz root@new_server:/root/
systemctl stop sshd
tar xzvf ssh_full_backup.tar.gz -C /
systemctl start sshd
备份或恢复后,建议检查配置:
sshd -t
无输出表示配置正常。
✅ 可以加入定时备份(cron):
0 2 * * * tar czvf /backup/ssh_$(date +\%F).tar.gz /etc/ssh
✅ 备份权限很重要:
ls -l /etc/ssh/ssh_host_*
应为:
-rw------- root root
✅ 最推荐一条命令:
tar czvf /root/ssh_backup_$(date +%F).tar.gz /etc/ssh
如果你愿意,我可以:
sshd_config只要告诉我你的 CentOS 版本(7 / 8 / Stream)。