编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

使用java连接SFTP记录(java sftp auth fail)

wxchong 2024-10-10 12:49:25 开源技术 27 ℃ 0 评论

连接Sftp用的是JSch库中的一个类,它提供了一个连接和操作SFTP服务器的通道。

引入pom:

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>${jsch.version}</version>
</dependency>

连接SFTP,首先创建一个JSch对象,然后用这个对象获取Session对象,然后通过地址和用户名密码连接,通过Session对象进行连接,然后获取channel,连接后我们就可以使用channel进行一系列操作。

private Session session = null;
private ChannelSftp channel = null;
JSch jsch = new JSch();
// 根据用户名,主机ip,端口获取一个Session对象
session = jsch.getSession(userName, serverIP, port);
// 设置密码
session.setPassword(password);
// 为Session对象设置properties
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
// 通过Session建立链接 之前是1.5s,直连的sftp时间不够,改成5s
session.connect(5000);
// 打开SFTP通道
channel = (ChannelSftp) session.openChannel("sftp");
// 建立SFTP通道的连接
channel.connect();


//SFTP 服务器下载文件
sftpChannel.get("remote/file/path", "local/file/path");
//上传文件
sftpChannel.put("local/file/path", "remote/file/path");
//创建目录
sftpChannel.mkdir("remote/directory/path");
//删除目录
sftpChannel.rm("remote/file/path");
//关闭连接
sftpChannel.exit();
session.disconnect();

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表