`

com.jcraft.jsch 实现SSH的BindAddress功能

阅读更多
今天使用jsch实现ssh功能遇到一个问题,请各位大神帮忙看看,先在这里谢过了。问题如下:
之前能通过命令sftp username@ip连接对端服务器,java代码为
com.jcraft.jsch.Session session = null;
JSch jsch = new JSch();
session = jsch.getSession(userName, ip, Integer.parseInt(port));
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
后面由于客户安全考虑使用了浮动ip,先前的命令无法连通,需用命令sftp -oBindAddress=ip_浮动 syncoss@ip。
发现使用session.setConfig("BindAddress", ip_浮动);//无效
继续查资料,试着使用代理
 ProxySOCKS4 proxysocket = new ProxySOCKS4(ip_浮动,22);
 session.setProxy(proxysocket);
依旧不行。。。。
求各位大神。指教


20170302后面的解决方法:

session.setConfig("StrictHostKeyChecking", "no");
// 增加浮动ip的绑定
if (!"".equals(bindAddress) && null != bindAddress) {
    SocketFactoryIns socketFactory = new SocketFactoryIns();
    socketFactory.setLocalAddressIp(bindAddress);
    session.setSocketFactory(socketFactory);
}
session.setPassword(password);
....
分享到:
评论

相关推荐

    com.jcraft.jsch

    首先,com.jcraft.jsch是一个开源的Java库,它的主要功能是实现了SSH2协议,支持加密通信和身份验证,确保了数据传输的安全性。开发者可以利用这个库在Java应用程序中建立SSH连接,进行远程执行命令、文件传输、端口...

    com.jcraft.jsch_0.1.31

    com.jcraft.jsch.RequestShell.class com.jcraft.jsch.RequestAgentForwarding.class com.jcraft.jsch.Random.class com.jcraft.jsch.RequestSignal.class com.jcraft.jsch.Compression.class ...

    利用com.jcraft.jsch进行SFTP下载文件

    利用com.jcraft.jsch进行SFTP下载文件,方便简单快捷操作SFTP

    com.jcraft.jsch_0.1.31.jar commons-net-3.2.jar

    标题中的"com.jcraft.jsch_0.1.31.jar"和"commons-net-3.2.jar"是两个在JAVA编程环境中用于实现FTP(File Transfer Protocol)功能的重要库文件,它们是Java开发者进行FTP通信时经常会用到的依赖。 首先,`...

    com.jcraft.jsch_0.1.31.jar

    《com.jcraft.jsch_0.1.31.jar:Java实现SFTP操作的利器》 在Java开发中,远程文件传输是一个常见的需求,而SFTP(Secure File Transfer Protocol)作为SSH(Secure Shell)的一部分,提供了安全的文件传输功能。...

    com.jcraft.jsch_0.1.31.jar和commons-net-3.2.jar

    首先,`com.jcraft.jsch_0.1.31.jar`是一个Java SSH(Secure Shell)库,由JCraft公司开发。SSH是一种网络协议,用于安全地远程登录到服务器,执行命令,传输文件等。JSch库提供了对SSH2协议的完全支持,允许Java...

    com.jcraft.jsch_0.1.27.jar

    jar包,官方版本,自测可用

    com.jcraft.jschjar和commons-net

    总结来说,"com.jcraft.jsch.jar"和"commons-net"是Java开发中处理网络通信特别是SSH和FTP任务的重要工具,而.NET平台也有类似的功能实现,为不同平台的开发者提供了丰富的网络通信解决方案。了解并熟练运用这些库,...

    com.jcraft.jsch-all-1.0.6.release.jar

    jar包,官方版本,自测可用

    com.jcraft.jsch-all-1.0.0.release.jar

    jar包,官方版本,自测可用

    jsch-0.1.55,包含jar和source

    1. **初始化JSch对象**:创建`com.jcraft.jsch.JSch`实例,这是所有JSch操作的基础。 2. **设置用户身份信息**:配置用户名、密码、私钥等认证信息,可以通过`addIdentity`方法添加公钥和私钥对,或者通过`set...

    com.jcraft.jsch-all-1.0.4.release.jar

    jar包,官方版本,自测可用

    jsch-0.1.54.zip

    3. `com.jcraft.jsch.JSchException`:JSch库中的异常类,用于捕获和处理与SSH连接相关的错误。 4. `com.jcraft.jsch.ChannelSftp`:实现了SFTP协议的类,提供了丰富的文件操作方法。 5. `...

    jcraft-jsch.zip

    总结,JSch是Java开发中实现SSH功能的重要工具,它简化了SSH连接和相关操作的实现,为开发者提供了强大而灵活的功能。无论是监控Linux设备的shell,还是进行安全的文件传输,JSch都能胜任。通过深入理解和熟练使用...

    jsch0.1.55.jar_jsch0.1.53.jar

    JSch是Java Secure Channel的缩写,它是一个纯Java实现的SSH2库,允许Java应用程序连接到支持SSH协议的服务器,进行安全的数据传输。在给定的标题"jsch0.1.55.jar_jsch0.1.53.jar"中,提到了两个不同版本的JSch库...

    com.jcraft.jsch_0.1.31.jar和commons-net-3.2.jar下载

    `com.jcraft.jsch_0.1.31.jar` 是一个用于实现SSH(Secure Shell)协议的Java库,由JCraft公司开发。SSH是一种网络协议,用于安全地执行远程命令和传输数据,常用于文件传输、远程登录和隧道ing。JSch库支持SSH2协议...

    com.jcraft.jsch-all-1.1.0.m2.jar

    jar包,官方版本,自测可用

    可用的jsch-0.1.54.jar

    JSCH(Java Secure Channel)是一个开源的Java库,它实现了SSH2协议,用于在Java应用程序中实现安全的远程登录、文件传输、端口转发等功能。JSCH库广泛应用于需要通过SSH连接到远程服务器进行操作的场景,如自动化...

Global site tag (gtag.js) - Google Analytics