Ubuntu SFTP如何启用SSL
导读:Ubuntu SFTP启用SSL的正确做法 先厘清概念 SFTP 是 SSH 协议的一部分,默认通过 SSH 加密通道传输数据,端口为 22/TCP,并不需要、也不支持在 SFTP 层“启用 SSL/TLS”。若看到“给 SFTP 配 S...
Ubuntu SFTP启用SSL的正确做法
先厘清概念
- SFTP 是 SSH 协议的一部分,默认通过 SSH 加密通道传输数据,端口为 22/TCP,并不需要、也不支持在 SFTP 层“启用 SSL/TLS”。若看到“给 SFTP 配 SSL 证书”的说法,多数是将 FTPS(FTP over SSL) 与 SFTP 混淆。若你的目标是“加密传输”,SFTP 已经加密;若你的目标是“使用证书做服务器身份认证”,那对应的是 SSH 主机密钥/证书,而不是 SSL/TLS 证书。
实现加密与证书身份的正确路径
-
使用 SFTP(推荐)
- 安装并启用 OpenSSH 服务:
sudo apt update & & sudo apt install openssh-server - 基本配置保持默认(SFTP 子系统已内置),如需限制用户可加:
Match Group sftpusers→ChrootDirectory %h、ForceCommand internal-sftp、AllowTcpForwarding no、X11Forwarding no
- 防火墙放行:
sudo ufw allow 22/tcp - 连接测试:
sftp user@your_server_ip - 说明:连接始终加密;如需“证书指纹”校验,可在客户端查看服务器主机密钥指纹并比对。上述做法不涉及、也不需要在
sshd_config中配置SSLCertificateFile/SSLCertificateKeyFile这类 SSL 指令(它们不属于 OpenSSH 配置项)。
- 安装并启用 OpenSSH 服务:
-
如果你实际想要的是“FTP + SSL/TLS”(即 FTPS)
- 安装 vsftpd:
sudo apt install vsftpd - 生成证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem - 配置
/etc/vsftpd.conf:ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YES,ssl_sslv2=NO,ssl_sslv3=NOrsa_cert_file=/etc/ssl/certs/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem
- 重启服务:
sudo systemctl restart vsftpd - 防火墙放行:
sudo ufw allow 21/tcp与sudo ufw allow 990/tcp - 说明:这是 FTPS(FTP over SSL/TLS),与 SFTP 完全不同的协议与端口。
- 安装 vsftpd:
常见误区与验证
- 误区一:在
sshd_config里添加SSLCertificateFile/SSLCertificateKeyFile来“给 SFTP 启用 SSL”。这是无效配置,OpenSSH 不使用这些 SSL 指令。 - 误区二:认为 SFTP 默认不加密。实际上 SFTP 默认已加密,无需额外“启用 SSL”。
- 验证要点
- SFTP:使用
sftp user@host能正常连接即表示通过 SSH 加密通道传输;如需确认服务器身份,可在客户端查看并记录主机密钥指纹。 - FTPS:使用支持 SSL/TLS 的 FTP 客户端连接 990/TCP(隐式)或 21/TCP(显式 AUTH TLS),并确认证书有效。
- SFTP:使用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu SFTP如何启用SSL
本文地址: https://pptw.com/jishu/749342.html
