Ubuntu SFTP启用SSL的正确做法
先厘清概念
实现加密与证书身份的正确路径
使用 SFTP(推荐)
sudo apt update && sudo apt install openssh-serverMatch Group sftpusers → ChrootDirectory %h、ForceCommand internal-sftp、AllowTcpForwarding no、X11Forwarding nosudo ufw allow 22/tcpsftp user@your_server_ipsshd_config 中配置 SSLCertificateFile/SSLCertificateKeyFile 这类 SSL 指令(它们不属于 OpenSSH 配置项)。如果你实际想要的是“FTP + SSL/TLS”(即 FTPS)
sudo apt install vsftpdsudo 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.pemsudo systemctl restart vsftpdsudo ufw allow 21/tcp 与 sudo ufw allow 990/tcp常见误区与验证
sshd_config 里添加 SSLCertificateFile/SSLCertificateKeyFile 来“给 SFTP 启用 SSL”。这是无效配置,OpenSSH 不使用这些 SSL 指令。sftp user@host 能正常连接即表示通过 SSH 加密通道传输;如需确认服务器身份,可在客户端查看并记录主机密钥指纹。