使用java连接到SFTP

2024-06-28

我需要有关连接 SFTP 服务器的帮助吗?有人有工作代码吗?

我发现了这样的东西

package test.JSch;

import com.jcraft.jsch.*;

public class TestJSch {
public static void main(String args[]) {
    JSch jsch = new JSch();
    Session session = null;
    try {
        session = jsch.getSession("USSERNAME", "HOST", 22);
        //session.setConfig("StrictHostKeyChecking", "no");
        session.setPassword("PASSWORD");
        System.out.println("1");
        session.connect();
        System.out.println("2");

        Channel channel = session.openChannel("sftp");
        System.out.println("3");
        channel.connect();
        System.out.println("4");
        ChannelSftp sftpChannel = (ChannelSftp) channel;
        sftpChannel.get("remotefile.txt", "localfile.txt");
        sftpChannel.exit();
        session.disconnect();
    } catch (JSchException e) {
        e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
    } catch (SftpException e) {
        e.printStackTrace();
    }
    }
}

但这是输出

com.jcraft.jsch.JSchException: java.net.ConnectException: Connection timed out: connect
    at com.jcraft.jsch.Util.createSocket(Util.java:258)
    at com.jcraft.jsch.Session.connect(Session.java:186)
    at com.jcraft.jsch.Session.connect(Session.java:145)
    at test.JSch.TestJSch.main(TestJSch.java:17)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(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:252)
    ... 3 more

这段代码有什么问题?


您可以尝试增加 Jsch Framework 的超时时间。

session.connect(int Timeout)

session.connect(30000);

More on Jcsh javadoc http://epaul.github.io/jsch-documentation/simple.javadoc/com/jcraft/jsch/Session.html#connect%28%29

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用java连接到SFTP 的相关文章

随机推荐

  • 如何使用javascript将div从左向右移动

    I have div named movingImage每次单击按钮时我都想向右移动 50px 这是我的 JavaScript function moving Image document getElementById movingImag
  • 为什么 Xcode 会在钥匙串中自动安装(重复且过期的)证书? [复制]

    这个问题在这里已经有答案了 可能的重复 xCode 4 重新安装我删除的钥匙串证书 https stackoverflow com questions 5264481 xcode 4 reinstalls keychain certs th
  • MATLAB:检测并删除 2 列矩阵中的镜像对

    我有一个矩阵 1 2 3 6 7 1 2 1 并想删除镜像对 即输出将是 1 2 3 6 7 1 or 3 6 7 1 2 1 有没有一种简单的方法可以做到这一点 我可以想象一个复杂的 for 循环 例如 或不会删除原始对的版本 仅删除重复
  • swift - 仅在落地时跳跃

    我希望限制我的角色 猫 使其仅在地面 虚拟 SKNode 或树上 treeP SKNode 时跳跃 目前我没有任何限制touchesBegan因此 如果用户快速连续点击 猫就能够在空中飞翔 虽然这在其他游戏中可能很有用 但在这里不受欢迎 如
  • 如何处理 Volley StringRequest 中的空值

    我有一个返回 2 组不同值的响应 在每种情况下 都会有一个值always为空 另一个将为空always包含一个值 问题是 Volley 不允许我分配 null JSON 值或在 if 语句中检查 JSON 值 它只是指 catch 块 我正
  • Chrome getUserMedia 未在本地请求权限

    我正在尝试在 Chrome 中使用 navigator getUserMedia 但是 它在本地提供时不会请求权限 file whatever index html 但在 JSFiddle 上会请求权限 http jsfiddle net
  • flex 4 tabbar - 禁用选项卡

    有没有一种常见的方法可以在 Flex 4 中禁用 Spark TabBar 组件的选项卡 使用 mx tabnavigator 组件 您可以禁用与选项卡相对应的内容 然后选项卡也会被禁用 但是使用 Spark 选项卡栏组件执行此操作只会禁用
  • 如何正确处理聊天消息应用程序的“已读”-“未读”状态?

    我目前正在开发一个反应本机应用程序 该应用程序使用 socket io 提供聊天室功能 我目前愿意处理消息的未读 已读状态 但我不知道该逻辑应位于何处 在客户端代码中还是在服务器端 这是我的代码组件的基本实现
  • Flutter中如何获取当前路由路径?

    在实施的同时持久底部栏 https stackoverflow com questions 45511549 permanent view with navigation bar in flutter 以前的路线需要恢复 https git
  • 将最新的 R 安装路径从注册表添加到 PATH windows 7/8/10

    嗨 我是 Windows 批处理新手 我想向打电话的同事分发一个 runMe bat 文件Rscript myRfile R处理一些数据文件 但众所周知 我的同事在不同地方安装了 R 我不能指望他们知道如何将 Rscript 添加到 PAT
  • appcompat-v7:27.1.1 与 play-services:11.0.1 冲突

    我正在开发一个新应用程序 目前我正在尝试添加依赖项 implementation com google android gms play services 11 0 1 当我这样做时 我在实现 com android support app
  • FlowLayoutPanels 中的 C# 拖放标签

    我有一个小问题 我想要制作一个程序 可以在多个 FlowLayoutPanel 之间拖动生成的标签 但最近几天我尝试让拖放工作 我尝试了很多教程 示例等 但总是有些不同 而且我无法仅提取基本代码 它类似于这个程序 https social
  • 使用 JavaScript 清理 SQL 数据

    我有一堆具有各种输入元素的表单 我想在服务器端清理这些 yes 我使用服务器端 JavaScript 将这些输入用作参数 并防止特殊字符格式错误 在你走之前 比如 这不属于 JavaScript 的领域 等等 我正在使用一个价值数百万美元的
  • 使用 localinstall 更新 yum 包

    如果使用安装包yum 本地安装像这样 yum y localinstall nogpgcheck some package 1 0 0 rpm 现在 如果我尝试运行 yum y localinstall nogpgcheck some pa
  • 在 python numpy 中构建一个 nxn 矩阵,对于任何 n

    是否可以使用 python 的 numpy 版本 3 3 编写构建 nxn 矩阵的代码 而不指定 n 我需要将条目索引为 A i j 或类似的东西 但我什至不知道如何定义 A i j 以便它们实际上是对象 我认为这样的事情可能会起作用 n
  • 使用 MVC3 C# 进行分页的最简单方法?

    在 MVC3 C 中有一个网站项目 我从数据库中检索信息并在我的视图中以表格形式呈现 我想使用分页来每页最多显示五行 一直在互联网上寻找教程 但它们似乎都非常先进 可以实现这一目标 使用 MVC3 进行分页的最简单方法是什么 看图片左下角就
  • Django + Nginx 配置(获取“Welcome to nginx!”)

    我在 Ubuntu 上有 Django Nginx Gunicorn 使用 Letscrypt 生成的证书 In etc nginx sites available myproject I have server server name m
  • VB中CLS文件和DLL文件的用途是什么?

    有谁对 VB 项目中的 CLS DLL 和 VBP 文件的不同含义有很好的解释吗 CLS 文件是包含一个类的源代码的类文件 VBP文件是一个项目文件 您在 VB6 IDE 中打开 VBP 来浏览或编辑该项目的代码 项目也可以包含在组中 VB
  • 如何使用带有外键的时间尺度超表并保持一对多关系?

    我正在尝试创建一个考虑到最小冗余的数据库 我们想使用 timescaledb 超级表 我运行 postgreSQL v 12 和 timescaledb v 1 7 4 创建表的 postgreSQL 代码如下 您可以在此处查看 dbdia
  • 使用java连接到SFTP

    我需要有关连接 SFTP 服务器的帮助吗 有人有工作代码吗 我发现了这样的东西 package test JSch import com jcraft jsch public class TestJSch public static voi