CentOS下配置SFTP安全加密传输并不复杂,SFTP基于SSH协议,只要正确配置SSH服务,文件传输即可自动实现加密保护。以下是详细步骤,按顺序操作即可完成部署。
安装OpenSSH服务器(若尚未安装):
sudo yum install openssh-server启动SSH服务并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd配置SSH服务:编辑
/etc/ssh/sshd_config配置文件,查找或添加以下行,确认SFTP子系统路径正确:Subsystem sftp /usr/libexec/openssh/sftp-server通常该行默认存在,请确保未被注释。
限制用户仅限SFTP(可选但推荐):若需禁止用户获得SSH shell权限,仅允许文件传输,可使用
Match块配合ChrootDirectory进行限制。示例如下:Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no将
sftpuser替换为实际用户名,并相应调整家目录路径。配置后用户登录将只能在其指定目录内操作,显著提升安全性。重启SSH服务使配置生效:
sudo systemctl restart sshd配置防火墙放行SSH端口(若防火墙已启用):
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload测试连接:使用SFTP客户端或直接通过命令行验证:
sftp username@hostname若能够正常登录并完成文件上传下载操作,则说明配置成功。
完成以上步骤后,您的文件传输将通过SSH底层加密保护,支持AES、3DES、Blowfish、Twofish等多种加密算法,确保数据传输过程中无法被窃听。核心要点是:SSH配置正确,SFTP即可自动实现安全加密传输。
