`

Sftp访问方式JSch

阅读更多

使用JSch访问Sftp有时候会报异常:reject HostKey,有两种方式可以解决该异常。

1.创建实现com.jcraft.jsch.UserInfo的实体类,且该实体类必须存在一个public型无参构造函数;

2.设置强制HostKey检查为no。

实现com.jcraft.jsch.UserInfo的实体类:

/**
 * 
 */
package sftp;

import com.jcraft.jsch.UserInfo;

/**
 * @author lxzqz
 *
 */
public class SFtpUserInfo implements UserInfo {

	/**
	 * 构造函数,此构造函数不可少
	 */
	public SFtpUserInfo() {
	}


	public String getPassword() {
		return null;
	}

	public boolean promptPassword(String arg0) {
		return false;
	}

	public boolean promptPassphrase(String arg0) {
		return false;
	}

	public boolean promptYesNo(String arg0) {
		return true;
	}

	public void showMessage(String arg0) {
	}

	@Override
	public String getPassphrase() {
		return null;
	}

}

 使用第一种方式连接Sftp和使用第二种方式连接Sftp的代码如下:

package sftp;

import java.util.Properties;

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class Sftp {
	public static void sftpUserInfo() throws Exception{
		JSch js = new JSch();
		//sftp用户名、ip、端口
		Session session = js.getSession("test", "172.16.2.183", 10086);
		//sftp密码
		session.setPassword("test");
		//创建一个用户
		session.setUserInfo(new SFtpUserInfo());
		session.connect();
		Channel channel = session.openChannel("sftp");
		channel.connect();
		ChannelSftp cmd = (ChannelSftp)channel;
		//cmd各种命令操作sftp
		//释放资源
		channel.disconnect();
		session.disconnect();
	}
	
	public static void strictHostKeyChecking() throws Exception{
		JSch js = new JSch();
		//sftp用户名、ip、端口
		Session session = js.getSession("test", "172.16.2.183", 10086);
		//sftp密码
		session.setPassword("test");
		//设置强制HostKey检查为no
		Properties config = new Properties();
		config.put("StrictHostKeyChecking", "no");
		session.setConfig(config);
		session.connect();
		Channel channel = session.openChannel("sftp");
		channel.connect();
		ChannelSftp cmd = (ChannelSftp)channel;
		//cmd各种命令操作sftp
		//释放资源
		channel.disconnect();
		session.disconnect();
	}
}

 

  • jsch-0.1.42.jar (181.4 KB)
  • 描述: JSch连接Sftp的jar包
  • 下载次数: 1
分享到:
评论

相关推荐

    JSCH免费下载啦

    JSCH主要关注SFTP服务,它是在SSH协议上运行的一种文件传输协议,提供了更安全的文件操作方式。 **JSCH库的使用** JSCH库包含了一系列的类和接口,用于构建SSH连接。以下是一些关键的类: 1. `...

    jsch-0.1.42.jar及用java实现SFTP的例子

    在本文中,我们将深入探讨JSch库的核心功能,以及如何使用它来实现SFTP(Secure File Transfer Protocol)。 **SSH协议基础** SSH是一种网络协议,用于加密网络通信,确保数据在传输过程中的安全性。它常用于远程...

    SFTP资料及JAR包

    在Java中,我们可以利用开源库JSCH(Java Secure Channel)来实现SFTP功能。 JSCH是一个纯Java实现的SSH2库,它提供了SSH2协议的实现,包括SFTP服务。该库的核心功能是创建加密的通道,用于执行命令、打开Shell会话...

    基于jsch的ssh访问

    基于jsch包实现远程服务器的sftp访问,并可远程发送命令执行,可以配合https://download.csdn.net/download/u011230766/10710755,实现密钥登录,类KeyGen用于生成非对称密钥

    基于SSH协议的sftp协议

    该问题是由于SFTP协议的编码问题所致,可以通过设置编码方式来解决该问题。例如,可以使用UTF-8编码来解决乱码问题。 SFTP协议是一种安全的文件传输协议,提供了可靠的文件传输机制。通过JSch库,可以在Java应用...

    jsch版本50-53.rar

    JSCH,全称为Java Simple SSH,是一个开源的Java库,用于实现SSH2协议,以便在Java应用程序中进行安全的远程文件传输、shell访问以及端口转发。JSCH库广泛应用于需要与支持SSH2的服务器进行交互的场景,例如SFTP...

    webmethods sftp client

    8. **安全特性**:除了SFTP本身的加密特性,WebMethods SFTP客户端可能还支持密钥对认证、密码认证等安全机制,确保只有授权用户能够访问系统。 9. **API集成**:WebMethods平台允许与其他系统和应用进行深度集成,...

    SFTP学习心得

    通过这种方式,我们可以在Java程序中利用JSch库实现SFTP无密码访问,提高系统的安全性。总的来说,理解和熟练运用SFTP以及相关的工具和API对于IT专业人士来说是非常重要的,尤其是在处理敏感数据和远程文件操作时。

    jsch api 源码

    JSCH(Java Simple Connection)是一个Java库,用于实现SSH(Secure Shell)、SFTP(Secure File Transfer Protocol)和Telnet协议。这些协议在IT领域中扮演着重要的角色,尤其是在远程访问、文件传输和网络安全方面...

    java进行ssh协议连接的jar包jsch-0.1.54.jar

    Java中的JSCH库(JSch)是实现SSH连接的开源库,它提供了全面的功能,包括SFTP(SSH File Transfer Protocol)、SCP(Secure Copy)以及shell会话等。在本文中,我们将深入探讨如何使用JSch-0.1.54.jar这个库来实现...

    jsch 1.49 官方包

    3. **端口转发**: 通过JSch,可以设置本地或远程端口转发,这在穿透防火墙或者访问受限制的服务时特别有用。 4. **公钥认证与密码认证**: JSch支持使用RSA、DSA等公钥算法进行身份验证,也可以使用密码进行认证,为...

    JSch对linux上文件的操作

    一旦SSH连接建立,我们可以创建一个SFTP通道,这将让我们访问远程文件系统: ```java ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp"); sftpChannel.connect(); ``` **文件上传**: 在SFTP...

    jsch的jar包,包含0.1.51,0.1.52,0.1.53,0.1.54等这几个版本

    2. **SFTP(Secure File Transfer Protocol)**:JSch支持SFTP子协议,可以安全地上传、下载文件,管理远程目录,实现类似于FTP的功能。 3. **SCP(Secure Copy)**:JSch也提供了SCP命令的功能,可以实现文件和...

    jsch-0.1.55.jar 包

    SSH是一种网络协议,用于加密网络通信,确保数据传输的安全性,广泛应用于远程终端访问、文件传输和命令执行等场景。 **JSCH库介绍** JSCH(Java Secure Channel)是Simon Stuart开发的一个开源项目,它提供了一种...

    官网jsch-0.1.54.jar和可选包jzlib-1.1.3.jar

    1. **身份验证**:JSch支持多种身份验证方式,包括基于口令的认证、公钥私钥对的RSA/DSA/ECDSA认证以及键盘交互式认证,确保了数据传输的安全性。 2. **加密通信**:SSH协议本身提供强大的加密机制,JSch利用这些...

    sftp直接以url模式读取-----------包括servlet如何借用springproperties取文件

    6. **错误处理与异常安全**: 在实现SFTP访问时,需要捕获并适当地处理可能抛出的异常,如`JSchException`、`FileNotFoundException`等,确保程序的健壮性。 至于文件名称"prov-front-njcb",它可能是某个前端项目的...

    SFTp上传下载and xml解析丶生成

    JSch库提供了连接到SFTP服务器、创建会话、打开通道、传输文件等方法。上传文件通常涉及以下步骤: 1. 创建JSch实例并设置用户凭据(如主机名、端口号、用户名和密码)。 2. 建立到SFTP服务器的连接。 3. 打开SFTP...

    jsch-0.1.54

    3. **SFTP文件传输**:jsch还支持Secure File Transfer Protocol (SFTP),可以安全地上传、下载文件或目录,进行文件管理操作,如重命名、删除等。 4. **端口转发**:通过jsch,可以设置本地或远程端口转发,将一个...

    jsch1.54和jce_policy-8.zip

    JSCH(Java Secure Channel)是Java中一个用于实现SSH(Secure Shell)协议的库,它允许开发者在Java应用中创建安全的通道进行远程操作,如SFTP文件传输、端口转发等。版本1.54是这个库的一个更新,可能包含了一些...

    jsch-0.1.41.jar

    1. **连接与认证**:JSCH库可以连接到任何支持SSH2的服务器,并提供多种身份验证方式,包括密码认证、公钥认证和键盘交互式认证。 2. **会话管理**:创建SSH会话,执行远程命令,监控命令输出,甚至支持shell交互...

Global site tag (gtag.js) - Google Analytics