Debian SFTP默认使用SSH加密传输,无需额外配置SSL证书即可实现数据加密。SSH协议通过加密通道保障SFTP传输的安全性,这是其原生特性。若需强化加密强度或适配特定场景(如合规要求),可通过以下步骤优化配置:
OpenSSH是SFTP服务的核心组件,需先确认其安装状态。若未安装,执行以下命令安装:
sudo apt update
sudo apt install openssh-server
编辑SSH配置文件/etc/ssh/sshd_config,通过调整以下参数提升加密安全性:
Protocol 2
Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512,umac-64-etm@openssh.com
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256
sftpusers组并将用户加入):Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
注:
ChrootDirectory需设为用户主目录的父目录(如/home/username),且该目录需属主为root、权限为755(sudo chown root:root /home/username && sudo chmod 755 /home/username)。
修改配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
使用SFTP客户端连接服务器,验证加密是否正常:
sftp username@your_server_ip
连接成功后,输入密码即可进入SFTP命令行界面。此时数据传输已通过SSH加密通道保护。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/sftp.key -out /etc/ssl/private/sftp.crt),但生产环境建议使用CA签发的证书。ufw,可执行sudo ufw allow sftp或sudo ufw allow 22放行端口。/etc/ssh/sshd_config前,建议备份原始文件(sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak),以便出现问题时恢复。