插件窝 干货文章 如何用SFTP上传大文件

如何用SFTP上传大文件

传输 hostname username 文件 903    来源:    2025-05-08

使用SFTP上传大文件的完整指南

SFTP(SSH文件传输协议)是传输大文件的安全可靠方式。以下是详细的操作方法和优化建议:

基本SFTP上传命令

sftp username@hostname
put local_file /remote/directory/

优化大文件传输的方法

1. 使用压缩传输

tar czvf - large_file.dat | sftp username@hostname "cat > /remote/path/large_file.dat.tar.gz"

2. 使用更高效的加密算法

~/.ssh/config中添加:

Host *
    Ciphers aes128-ctr
    Compression yes

3. 分块传输大文件

split -b 2G large_file.zip large_file_part_
sftp username@hostname
mput large_file_part_*

在远程服务器上合并:

cat large_file_part_* > large_file.zip

4. 使用rsync over SSH(更可靠)

rsync -avz --progress -e ssh large_file username@hostname:/remote/path/

图形化工具推荐

  1. WinSCP (Windows)
  2. FileZilla (跨平台)
  3. Cyberduck (Mac)

常见问题解决

超时问题

sftp -o ServerAliveInterval=60 username@hostname

断点续传

使用rsync或lftp工具:

lftp sftp://username:password@hostname -e "mirror -R --continue /local/path /remote/path; quit"

速度慢

尝试调整加密算法:

sftp -oCiphers=aes128-ctr,aes192-ctr,aes256-ctr username@hostname

最佳实践

  1. 传输前验证文件完整性(MD5/SHA校验)
  2. 使用screen或tmux保持会话
  3. 对大文件先压缩后传输
  4. 考虑网络带宽和服务器资源使用情况

如需更详细的参数说明或遇到特定问题,可以提供更多具体情况,我可以给出更有针对性的建议。