当前位置: 首页 > news >正文

S3、SFTP、FTP、FTPS 协议的概念、对比与应用场景

一.核心概念与协议栈

协议 全称 基础协议 默认端口 设计目标
S3 Simple Storage Service HTTP/HTTPS 443/80 云存储对象访问
SFTP SSH File Transfer Protocol SSH (Secure Shell) 22 加密文件传输
FTP File Transfer Protocol TCP 21(控制) 20(数据) 明文文件传输
FTPS FTP Secure FTP + SSL/TLS 990(控制) 989(数据) 加密版FTP

二、安全性

协议 加密方式 认证机制 漏洞风险
S3 HTTPS (TLS 1.2+) AWS IAM/Access Key 密钥泄露、桶策略配置错误
SFTP SSH隧道加密(AES/ChaCha20) 用户名+密码/SSH密钥 弱密码、SSH版本漏洞(如CVE-2023-48795)
FTP 无加密(明文传输) 用户名+密码 嗅探攻击、中间人劫持
FTPS SSL/TLS加密(显式/隐式) 用户名+密码 + 证书验证 心脏出血漏洞(CVE-2014-0160)

三、文件操作

功能 S3 SFTP FTP FTPS
断点续传 ✅ (分片上传) ✅ ❌ ✅
文件权限管理 ✅ (IAM/桶策略) ✅ (Unix权限) ❌ ❌
目录递归操作 ❌ (需手动实现) ✅ ( rm -r 式操作) ✅ ✅
传输进度监控 ✅ (SDK支持) ✅ (SCP兼容) ❌ ❌

四、代码实现

1.S3上传(AWS SDK):

// 依赖:software.amazon.awssdk:s3
S3Client s3 = S3Client.builder().region(Region.US_EAST_1).build();
s3.putObject(PutObjectR

http://www.lryc.cn/news/605317.html

相关文章:

  • openwrt中br-lan,eth0,eth0.1,eth0.2
  • 第2章 cmd命令基础:常用基础命令(3)
  • cmake_parse_arguments()构建清晰灵活的 CMake 函数接口
  • G9打卡——ACGAN
  • 获取TensorRT引擎文件(.engine)版本号的几种方法
  • 2022 年 NOI 最后一题题解
  • 数据集相关类代码回顾理解 | DataLoader\datasets.xxx
  • 【高等数学】第七章 微分方程——第四节 一阶线性微分方程
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step4—时间同步(Chrony)
  • Spark的宽窄依赖
  • 《设计模式之禅》笔记摘录 - 11.策略模式
  • uniapp-vue3来实现一个金额千分位展示效果
  • uniapp实现微信小程序导航功能
  • 思途JSP学习 0730
  • LeetCode 刷题【22. 括号生成】
  • Winform 渐变色 调色板
  • 代码随想录算法训练营第五十六天|动态规划part6
  • C语言基础11——结构体1
  • AutoSAR(MCAL) --- ADC
  • VoIP技术全面深度学习指南:从原理到实践的认知进化
  • 【GEO从入门到精通】生成式引擎与其他 AI 技术的关系
  • Linux ARM 平台 C 语言操作 Excel 文件的常用库与工具汇总(支持 xls 和 xlsx)
  • Linux基本指令,对路径的认识
  • SringBoot入门
  • uvm-tlm-sockets
  • 关于MyBatis 的懒加载(Lazy Loading)机制
  • 腾讯云市场排名
  • linux进程概念(三)进程状态
  • COZE 开源,新一代 AI Agent 本地部署一条龙
  • 借助 Wisdom SSH 的 AI 助手构建 Linux 开发环境