可以通过WinSCP打开SFTP连接,但不能与JSch连接

时间:2014-02-22 09:37:11

标签: java jboss7.x sftp jsch

我正在尝试连接到无法通过JSch管理的远程设备,尽管我可以使用具有相同凭据的WinSCP客户端进行连接。

该应用程序是一个基于J2EE的企业应用程序,它在JBoss AS 7.1.1上运行,在Windows服务器上,我正在尝试从Quartz作业连接SFTP服务器。我用来验证SFTP登录的代码如下。

try {
    Session session = jsch.getSession("username", "host", 22);
    session.setConfig("StrictHostKeyChecking", "no");
    session.setPassword("password");
    session.connect();

    Channel channel = session.openChannel("sftp");
    ChannelSftp channelSftp = (ChannelSftp) channel;                
    channel.connect();
    session.disconnect();
    channelSftp.disconnect();

} catch (JSchException e) {
    log("Cannot make connection to FTP server ");
    e.printStackTrace();
}

我正在

  

com.jcraft.jsch.JSchException:java.net.ConnectException:连接被拒绝:连接
  session.connect();

中的异常

我正在使用0.1.50版本的JSch

当我在开发环境中运行此代码时,会发生另一种不一致;我可以使用SFTP连接到服务器。

你能帮我找出这种行为的可能原因吗?

1 个答案:

答案 0 :(得分:0)

问题是由于网络的拓扑结构和通信方的权限。如果您遇到同样的问题,请考虑这些问题。