最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu FTP怎样进行数据加密
时间:2026-07-29 09:40:51 编辑:袖梨 来源:一聚教程网
Ubuntu FTP数据加密常见方案与具体配置流程
在Ubuntu上实现FTP数据加密,主要有两种主流方案:FTPS(FTP over SSL/TLS)(FTP协议的安全扩展,兼容传统FTP客户端)和SFTP(SSH File Transfer Protocol)(基于SSH协议的加密传输,安全性更高且集成SSH功能)。以下是具体配置步骤:
一、FTPS(FTP over SSL/TLS)配置
需要兼容传统FTP客户端时,可采用FTPS,通过SSL/TLS协议对FTP传输进行加密。
1. 安装vsftpd
在Ubuntu的FTP服务器软件中,vsftpd较为常用,并具备对SSL/TLS扩展的支持。
sudo apt updatesudo apt install vsftpd2. 生成SSL证书和私钥
自签名证书由OpenSSL生成;若用于生产环境,则建议改用CA颁发的证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem国家、组织名称等信息依照提示输入即可,相关内容不作严格验证。
3. 配置vsftpd启用FTPS
打开vsftpd主配置文件进行编辑:
sudo nano /etc/vsftpd.conf取消注释、新增或修改以下关键配置:
# 启用SSL/TLSssl_enable=YES# 强制所有数据传输和登录使用SSL/TLSforce_local_data_ssl=YESforce_local_logins_ssl=YES# 禁用SSLv2/SSLv3(仅允许TLSv1.2及以上)ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NO# 指定证书和私钥路径rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem# 禁止匿名登录(可选但推荐)anonymous_enable=NO# 允许本地用户登录local_enable=YES# 允许用户上传文件write_enable=YES# 限制用户在其主目录(可选)chroot_local_user=YESallow_writeable_chroot=YES4. 重启vsftpd服务
使配置变更生效:
sudo systemctl restart vsftpd5. 配置防火墙
需要放行的端口包括FTPS数据端口(990,隐式模式)与FTP控制端口(21):
sudo ufw allow 21/tcpsudo ufw allow 990/tcpsudo ufw reload6. 客户端连接
客户端需具备FTPS支持,例如FileZilla:
- 协议选择“FTP - FTPS”;
- “隐式FTP over TLS”与“显式FTP over TLS”(推荐)均可作为加密模式;
- 填写服务器IP、用户名和密码后即可连接。
二、SFTP(SSH File Transfer Protocol)配置
基于SSH协议的SFTP不必额外安装FTP服务器,安全性更高,并集成了SSH功能。
1. 安装OpenSSH服务器
安装SSH服务器时,作为SSH组成部分的SFTP会默认一同安装:
sudo apt updatesudo apt install openssh-server2. 配置SSH启用SFTP
打开SSH主配置文件进行编辑:
sudo nano /etc/ssh/sshd_config确认以下配置已经存在,可取消注释或新增:
# 启用SFTP子系统Subsystem sftp /usr/lib/openssh/sftp-server# 或使用更安全的internal-sftp(推荐)# Subsystem sftp internal-sftp以下内容为可选添加项,用于让用户仅能使用SFTP:
Match Group sftpusersChrootDirectory /home/%uForceCommand internal-sftpAllowTcpForwarding=noX11Forwarding=no(需提前创建sftpusers组并将用户加入:sudo groupadd sftpusers、sudo usermod -aG sftpusers username)
3. 重启SSH服务
使配置变更生效:
sudo systemctl restart ssh4. 客户端连接
客户端应具备SFTP支持,例如FileZilla:
- “SFTP - SSH File Transfer Protocol”应设为所用协议;
- 端口填写“22”(SSH默认端口);
- 填写服务器IP、用户名和密码后即可连接。
注意事项
- 证书选择:为避免浏览器/客户端出现“不受信任”提示,生产环境建议采用Let’s Encrypt等CA颁发的证书;
- 防火墙设置:对应端口须予以放行,其中SFTP需22,FTPS需21+990;
- 权限管理:SFTP用户的家目录权限需设置为
755(chmod 755 /home/username),避免无法上传文件; - 隐式 vs 显式FTPS:更灵活且推荐的显式FTPS(端口21)支持客户端先协商加密方式;隐式FTPS(端口990)则要求客户端从连接开始便建立加密连接。
相关文章
- 迅捷 FW316R 无线路由器端口映射设置指南 08-12
- 迅捷 FW316R 无线路由器WDS桥接设置 08-12
- 迅捷 FW316R 无线路由器内网主机上网权限设置 08-12
- 迅捷 FW316R 无线路由器网速限制设置 08-12
- 腾讯电脑管家如何设置开机自启 08-12
- 迅捷 FW316R 无线路由器WiFi网络设置 08-12