java代码用jsch实现SFTP文件传输

今天开发遇到点老项目上的东西,对于我这种新人来说还是比较陌生的,准备记录一下.

领导一直在给我说SFTP接口xxx的 传输xxx的 之前不知道这玩意干啥的,百度搜一下,学习记录一下.

先说一下SFTP吧

SFTP(SSH File Transfer Protocol,也称 Secret File Transfer Protocol)

它是一种安全的文件传输协议,一种通过网络传输文件的安全方法;它确保使用私有和安全的数据流来安全地传输数据。

和他同类还有个FTP,二者的主要区别为

1、安全通道

FTP 不提供任何安全通道来在主机之间传输文件;

而,SFTP协议提供了一个安全通道,用于在网络上的主机之间传输文件。

2、使用的协议

FTP使用 TCP/IP协议。

而,SFTP是SSH协议的一部分,它是一种远程登录信息。

3、链接方式

FTP使用TCP端口21上的控制连接建立连接。

而,SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。

4、安全性

FTP密码和数据以纯文本格式发送,大多数情况下是不加密的,安全性不高。

而,SFTP会在发送之前加密数据,二进制的形式传递,是无法 "按原样" 阅读的,安全性较高。

以上是概念,简单了解一下

手动分割一下

-------------------------------------------------------------------

java代码实现理论为:

创建对象,设置相关属性(用户,密码,ip,端口等),通过session连接,打开SFTP通道,建立SFTP通道的连接,然后用其api便可以进行文件的上传下载等操作了;

String host:"";
String port:"";
String username:"";
String pwd:"";
//初始化
Session session = null;
Channle channel = null;
JSch jsch = new JSch();
//获取session
session= jsch.getSession(username,host,Integer.value(port));
//设置相关属性
session = setPassword(pwd);
Properties sshConfig = new Properties();
session.setConfig(sshConfig);
//建立连接
session.connect();
channel = session.openChannel("sftp");
//建立sftp连接通道
channel .connect();

通道建立成功后就可以调API接口了,上传,下载,删除,查看文件列表等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值