gpt4 book ai didi

sftp - JSch session.connect() 与 CoreFTP 挂起

转载 作者:行者123 更新时间:2023-12-02 00:31:31 24 4
gpt4 key购买 nike

我为本地主机和下一个代码配置了 CoreFTP:

JSch.setLogger(new MyJschLogger()); //class for console output

Session session = jsch.getSession("user", "localhost", 21);

Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);

session.setPassword("password");
session.connect();

当程序实现 connect() 时,控制台输出出现两条消息:

INFO: Connecting to localhost port 21
INFO: Connection established

...没有更多的事情发生。几分钟后,connection is closed by foreign host 出现异常。

为什么?

谢谢大家!

最佳答案

端口 21 是 FTP 的正常端口. JSch 只是一个 SSH客户端,支持 SFTPChannelSFTP类(class)。 JSch 对 FTP 一无所知(并且 SFTP 与 FTP 无关,除了名称之外,它允许类似的事情)。

您需要将您的服务器设置为使用 SSH 协议(protocol)(通常在端口 22 上,但您可以使用任何端口,只要您在客户端上使用相同的端口即可)。参见 the documentation - 我认为您必须选中 SSH 复选框。

此外,如果您的代码只不过是您发布的内容,那么只会发生连接。要传输文件,您需要打开 ChannelSFTP ,并发出正确的命令(例如调用一个或多个 put/get 方法)。

关于sftp - JSch session.connect() 与 CoreFTP 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6517554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com