我正在使用JSCH进行sftp文件上传。在当前状态下,每个线程都会在需要时打开和关闭连接。
是否可以在JSCH中使用连接池,以避免由于大量打开和关闭连接而导致的开销?
这是从线程内部调用的函数的示例
public static void file_upload(String filename) throws IOException {
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("user", "server_name", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("super_secre_password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
FileInputStream inputSrr = new FileInputStream(filename);
try {
sftpChannel.put(inputSrr, "/var/temp/"+filename);
} catch (SftpException e) {
e.printStackTrace();
} finally {
if (inputSrr != null) {
inputSrr.close();
}
}
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
为此,我希望使用commons-pool。;)
嗨,我正试图通过ssh隧道连接到服务器上的数据库,但我甚至无法连接Jsch会话。我试图在GWT中作为我的后端代码的一部分来做这件事。这是服务器端代码的实现部分。我对服务器一般不是那么熟悉。通常在端子I类型中: ssh-x username@xxxx.xxx.edu 然后系统提示我输入密码,我输入密码,然后我就进入了。 所以在java中我的代码如下: 我已经双重检查了用户名、密码和主机字符串,它们都
问题内容: 我在通过JSch创建到远程SFTP服务器的会话时遇到问题: 我用来通过外壳连接sftp服务器的命令是: 及其正常工作,但是当我尝试使用Java(JSch)时,我遇到了超时异常。Java代码是 我得到的异常是: com.jcraft.jsch.JSchException:超时:未建立套接字 我想它来了,因为我没有在使用shell命令时设置我正在使用的with 选项。如果是这样,那么如何在
我使用的是camel version2.13.1和camel-ftp version2.13.1。我正试图通过camel路由连接到sftp服务器。我得到了一些与jCraft Jsch异常相关的错误,如下所示。
我目前正在制作一个Java应用程序,它将执行远程Windows机器的命令(从命令提示符)。 为了开发这个,我尝试了以下方法: > 目标计算机信息: Windows x64工作站 请引导到这个,它可以用Jsch库做,如果不是,你可以推荐哪种方法。 您可以假设以下情况: 我不想在目标机器中有任何代码。因此,一个Java应用程序驻留在我的工作站上,只执行一些简单的窗口命令,如目标窗口机器中的dir或st
我要连接的代码: 命令行版本的相同的程序,我可以运行没有任何例外!另一个来自JCraft[link]http://www.jcraft.com/jsch/examples/SFTP.java.html网站的SFTP示例运行良好。
我试图连接到localhost使用ssh键,但我仍然得到"Auth失败"错误。 以下是方法实现: 我使用linux终端创建了我的公钥/私钥对,如下所示: 我没有说任何短语。下一步: 最后 然后当我运行我的程序时,我得到一个错误: 有什么想法吗?我的密钥是OpenSSH类型,从行开始 "-----开始RSA私人密钥-----"