Ubuntu SFTP加密传输实操指南
一 核心原理与准备
二 快速搭建 SFTP 服务端
sudo apt updatesudo apt install openssh-serversudo systemctl start sshsudo systemctl enable sshPubkeyAuthentication yesPasswordAuthentication noPermitRootLogin no修改后重启服务:sudo systemctl restart ssh。sudo ufw allow sshsudo ufw enablesftp sftpuser@your_server_ip以上完成后,所有通过 SFTP 的文件传输均已加密。三 常见场景与配置要点
sudo groupadd sftpuserssudo adduser sftpusersudo usermod -aG sftpusers sftpusersudo nano /etc/ssh/sshd_config在文件末尾加入:Match Group sftpusersChrootDirectory %hForceCommand internal-sftpAllowTcpForwarding noX11Forwarding no目录权限要求(否则 chroot 会失败):sudo chown root:root /home/sftpusersudo chmod 755 /home/sftpusersudo systemctl restart sshssh-keygen -t rsa -b 4096 -C "[email protected]"chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys/etc/ssh/sshd_config 中确保 PubkeyAuthentication yes、PasswordAuthentication no,重启 ssh 生效。四 验证加密与日志排查
sudo tail -f /var/log/auth.logsftp -v sftpuser@your_server_ip看到 SSH 握手与 SFTP 子系统启动即表明为加密通道。openssl s_client -connect your_server_ip:22 -starttls sftp出现握手信息表示基于 SSH 的加密通道可用(用于诊断,不建议作为常规连接方式)。五 常见误区与建议
ssl_enable=YES、rsa_cert_file、rsa_private_key_file 等参数,这与 SFTP 是两套不同协议。