Debian SFTP配置備份指南
SFTP(SSH File Transfer Protocol)基于SSH服務運行,其配置主要存儲在SSH主配置文件及關聯目錄中。備份SFTP配置需覆蓋核心配置文件、用戶認證信息及相關密鑰,以下是具體方法:
SFTP的關鍵配置(如子系統定義、用戶訪問限制)均位于/etc/ssh/sshd_config
。備份該文件是恢復SFTP服務的基礎。
操作命令:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
優化建議:為避免覆蓋,可添加日期戳生成唯一備份文件(如sshd_config.bak-20250922
):
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak-$(date +%Y%m%d)
驗證:通過diff
命令對比原文件與備份文件,確保內容一致:
sudo diff /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
SFTP用戶的身份驗證及權限控制依賴以下系統文件,需一并備份:
/etc/passwd
(存儲用戶名、UID、家目錄等);/etc/shadow
(存儲加密后的用戶密碼);/etc/group
(存儲用戶所屬組,如SFTP專用組sftpusers
)。sudo cp /etc/passwd /etc/passwd.bak
sudo cp /etc/shadow /etc/shadow.bak
sudo cp /etc/group /etc/group.bak
若服務器使用SSH密鑰認證(而非密碼),需備份密鑰文件以避免密鑰丟失導致的訪問問題。
密鑰文件路徑:
/etc/ssh/ssh_host_*_key
(如ssh_host_rsa_key
、ssh_host_ecdsa_key
);/home/username/.ssh/authorized_keys
(存儲允許登錄的客戶端公鑰)。sudo cp /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_key.bak
sudo cp /home/username/.ssh/authorized_keys /home/username/.ssh/authorized_keys.bak
為簡化存儲與傳輸,可將所有備份文件打包成壓縮文件(如.tar.gz
)。
操作命令:
sudo tar -czvf sftp_backup_$(date +%Y%m%d).tar.gz \
/etc/ssh/sshd_config.bak* \
/etc/passwd.bak \
/etc/shadow.bak \
/etc/group.bak \
/etc/ssh/ssh_host_key.bak \
/home/username/.ssh/authorized_keys.bak
說明:壓縮包名稱包含日期戳(如sftp_backup_20250922.tar.gz
),便于后續識別版本。
備份文件需存儲在非系統盤或遠程位置,防止系統故障導致備份丟失。常見方式:
/mnt/backup
);scp
命令將備份文件傳輸至另一臺服務器:scp sftp_backup_$(date +%Y%m%d).tar.gz user@remote_server:/path/to/backup/
sshd_config
后重啟SSH服務),驗證備份有效性;chmod 700 /backup/sftp
),防止未授權訪問。