我正在通过sftp(JSCH)连接到FTP服务器。
每当我使用端口21连接到FTP服务器时,它总是挂起session.connect()。
它不会引发任何异常。但当我使用其他端口时。它工作并且抛出异常。
下面是我的代码示例。
public static void main(String[] args) throws SftpException {
JSch jsch = new JSch();
try {
Session session = jsch.getSession("username", "host", 21);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp channelSftp = (ChannelSftp) channel;
session.disconnect();
channelSftp.disconnect();
} catch (JSchException e) {
log("Cannot make connection to FTP server ");
e.printStackTrace();
}
}
会不会是端口22是SFTP的默认端口?并且在端口21上运行的FTP服务器将不知道如何协商安全FTP的会话。基本上,SFTP就是SSH上的FTP。
问题是,它无限期地等待谈判的完成。这是一场墨西哥对峙,双方都没有放弃。在session.connect()
之前调用session.settimeout()
,或调用session.connect(timeout)
,使用适当的值(3-5秒)。我相信超时是以毫秒为单位的。
我是Jsch的新手,我正在尝试通过SFTP连接到第三方。我可以通过ssh连接,因此我知道我有正确的用户、主机、端口和私钥文件,但当我尝试通过Jsch连接时,我得到异常消息“auth failed”,这几乎是有用的,但不是很有用。下面是我从网上的例子中拼凑出来的代码: 我添加了一些日志,这样我就知道失败是以session.connect()的形式发生的。我捕获了用户和connectionURL并验证
AngularJS设置了下面这些CSS类名,你可以方便地用来给你的应用添加样式。 AngularJS使用的CSS类名 ng-invalid, ng-valid 当元素中的输入值没有通过验证时,AngularJS会将这个类名加入到元素上。(参考input指令)。 ng-pristine, ng-dirty input指令会给新的widget中的input元素(没有用户交互过)添加ng-pristin
问题内容: 我正在尝试创建一个Java Application Client项目,该项目将JMS消息发送到Glassfish服务器上的队列。 问题在于,应用发送完消息后,它在应退出时挂起。该消息已成功传输,但是由于某种原因该应用程序没有退出。我已经尝试调试该应用程序,并且可以将其一直走到的结尾,这就是它的挂起位置。 这是代码: 如何使其停止挂起? 问题答案: 长期以来,它一直是Glassfish中
Spring靴:1.4.0.M1 我有一个IIS在端口80上运行,但是我已经通过STS配置属性将Sever.port更改为8090。STS屏幕快照 为什么STS embedded tomcat在更改后仍使用端口80?有点迷惑。
端口80正在使用中,所以我想知道如何才能杀死在端口80上运行的进程。
这是一个关于Storm的max spout pending如何工作的问题。我目前有一个spout读取一个文件,并为文件中的每一行发出一个元组(我知道Storm不是处理文件的最佳解决方案,但对于这个问题我没有选择)。 我将设置为50K,以限制进入要处理的拓扑的元组数量。然而,我看到这个数字在拓扑中没有任何影响。我每次都看到一个文件中的所有记录被发出。我猜测这可能是由于方法中的循环所致,该方法发出文件