小编rad*_*nan的帖子

使用 Java 连接 SFTP 时发生 UnknownHostException

我正在尝试使用 java 中的 5 个线程将文件连续上传到 SFTP 服务器,在启动程序时正确上传文件但过了一段时间,

所有线程在尝试创建新会话时都会抛出 UnknownHostException 异常持续 5 到 10 分钟,经过一段时间程序正常工作后,我无法找到导致此异常的原因,

这是用于连接sftp的代码,

        JSch jsch = new JSch();
        jsch.setKnownHosts(host_file);
        session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
        session.setPassword(SFTPPASS);
        java.util.Properties config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        channel = session.openChannel("sftp");
        channel.connect();
Run Code Online (Sandbox Code Playgroud)

例外 :

 at td.bdops.clupload.CARUpload.uploadZip(CARUpload.java:398)
    at td.bdops.clupload.CARUpload.uploadZip(CARUpload.java:398)
Caused by: java.net.UnknownHostException: sftp.opsbank2-prod.tio.systems
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at com.jcraft.jsch.Util.createSocket(Util.java:343)
    at com.jcraft.jsch.Session.connect(Session.java:215)
    at com.jcraft.jsch.Session.connect(Session.java:183)
    at td.bdops.util.FTPUtility.uploadAWSFTP(FTPUtility.java:227)
    at td.bdops.util.FTPUtility.uploadAWSFTP(FTPUtility.java:247)
Run Code Online (Sandbox Code Playgroud)

谁能解释一下,这个错误的根本原因是什么

java linux sftp jsch amazon-ec2

5
推荐指数
1
解决办法
6585
查看次数

标签 统计

amazon-ec2 ×1

java ×1

jsch ×1

linux ×1

sftp ×1