在 Linux 下,SFTP 本身就是基于 SSH 加密传输的,不需要额外“再加一层加密”。下面从原理、配置、增强安全性几个方面说明。
SFTP(SSH File Transfer Protocol):
✅ 只要你是通过 sftp user@host 或 scp,已经是加密传输
sftp user@192.168.1.100
比密码更安全:
ssh-keygen -t rsa -b 4096
ssh-copy-id user@host
sftp user@host
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
只允许 SFTP,不能登录 shell:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
重启 SSH:
systemctl restart sshd
SFTP 只加密传输过程,不加密存储文件
gpg -c file.txt
sftp user@host
encfscryptsetupsftp -v user@host
会显示使用的加密算法,例如:
debug1: cipher: aes128-ctr
❌ “SFTP 不加密”
✅ 错误,SFTP = SSH + 文件传输
❌ “FTPS = SFTP”
✅ 完全不同
如果你愿意,可以告诉我:
我可以给你一份可直接用的配置模板。