问题标签 [j2ssh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4745 浏览

java - j2ssh远程到远程文件传输

以下代码适用于本地主机到远程服务器。但是我的应用程序在单独的服务器上运行,所以我需要从 remote1 服务器中挑选文件,然后将其放入 remote2 服务器。如何使用 J2SSH。

0 投票
3 回答
3672 浏览

java - Java - 使用公钥和密码进行身份验证 - j2ssh

如何使用公钥和密码连接到服务器(我有公钥,我知道密码。我正在使用 com.sshtools.j2ssh 库,但我看不到设置密码的选项。问题是,即使虽然我有公钥,但服务器一直要求输入密码。

谢谢。罗恩。

0 投票
1 回答
362 浏览

ssh - 使用 J2ssh jar 的内存不足异常

我们在 webapp 中使用 j2ssh jar(j2ssh 是用于连接 Secured Shell 的外部 jar)。webapp 在 weblogic 服务器中运行。

我这样打开连接

在 finally 块中,我像这样关闭会话。

我怀疑我是否正确关闭了连接?它会清除Weblogic堆栈吗,因为我们经常抱怨用户由于内存溢出而出现异常,这基本上意味着垃圾收集没有正确进行。一旦我们重新启动服务器,它就会自动解决。有没有办法定期清除weblogic内存这样避免内存溢出异常?

0 投票
1 回答
1717 浏览

java - 当服务器没有返回输入时 InputStream read() 阻塞

我正在为 Android 开发一个程序,该程序通过 SSH 连接到服务器以获取一些数据。

问题是,如果一个命令被发送到服务器,它不返回任何东西(例如空文件上的 cat),我的程序挂起,似乎被 in.read() 阻止。

我在线上有一个断点

并在其下方的 then/else 行上。如果我调试它,程序会在 if 语句上正常中断,但是当我点击继续时,程序会再次挂起,并且永远不会进入下一个断点。

如果该程序实际上从服务器获得响应,则它可以正常工作,但是如果服务器无法正常合作,我想保护我的程序免于挂起。

我正在使用 J2SSH 库。

0 投票
2 回答
6873 浏览

java - J2SSH - 添加密钥交换算法

我正在尝试使用 j2ssh 将文件从我的应用程序发送到服务器。远程服务器正在运行 TECTIA。

从命令行(部署我的应用程序的 Solaris 机器)使用我们交换的密钥对,scp 可以正常工作。

在我的应用程序中,j2ssh 无法建立连接,抛出异常:

j2ssh 的调试日志显示如下:

从上面我可以看到我的应用程序和服务器之间的密钥交换没有匹配算法(调试实际上表明这个问题的根源是AlgorithmNotAgreedException没有服务器和客户端算法匹配所以我知道这是根本原因)。

如何向 j2ssh 添加新算法以便找到匹配项?j2ssh 文档非常少。

0 投票
1 回答
836 浏览

java - 从 SFTP 位置下载 zip 或 exe 文件

下面是我的应用程序中的两个片段,我使用 J2SSH jar 进行 SFTP 访问。

第一:

第二个(JSP 文件):

应用程序中的一切工作正常,没有任何例外。下载文本文件时没有问题。但是,当我尝试下载 zip 或 exe 文件时,其中缺少某些内容。即使下载成功,文件也无法提取或无法执行。

请建议我这可能是其中的问题......尤其是它应该适用于 exe 文件......

0 投票
3 回答
5243 浏览

command - 使用 j2ssh 执行多个命令

我想知道如何使用 j2ssh 执行多个命令。我从网上得到的代码如下:

我试图转到一个目录,然后使用 ls 命令列出文件,但它没有用

请问有什么帮助吗?

0 投票
1 回答
2416 浏览

ssh - 无法使用 j2ssh 在服务器上执行命令

我通过 ssh 连接到 unix 服务器并尝试执行“ls”命令并获取它的输出。代码是这样的

运行后我没有在日志文件中得到任何输出。我发现通道请求失败,如图所示

1019 [main] INFO com.sshtools.j2ssh.connection.ConnectionProtocol - 通道请求成功 1020 [main] INFO com.sshtools.j2ssh.session.SessionChannelClient - 请求命令执行 1021 [main] INFO com.sshtools.j2ssh.session.SessionChannelClient - 命令是 ls -l 1021 [main] INFO com.sshtools.j2ssh.connection.ConnectionProtocol - 发送会话通道的 exec 请求 1021 [main] INFO com.sshtools.j2ssh.transport.TransportProtocolCommon - 发送 SSH_MSG_CHANNEL_REQUEST 1021 [main] INFO com.sshtools.j2ssh.connection.ConnectionProtocol - 等待通道请求回复 1032 [传输协议 1] INFO com.sshtools.j2ssh.transport.TransportProtocolCommon - 收到 SSH_MSG_CHANNEL_EXTENDED_DATA 1033 [ssh-connection 1] 调试 com.sshtools.j2ssh.transport。服务 - 路由 SSH_MSG_CHANNEL_EXTENDED_DATA 1033 [ssh-connection 1] DEBUG com.sshtools.j2ssh.transport.Service - 已完成处理 SSH_MSG_CHANNEL_EXTENDED_DATA 1075 [传输协议 1] INFO com.sshtools.j2ssh.transport.TransportProtocolCommon - 收到 SSH_MSG_CHANNEL1FO INFAIL_com .sshtools.j2ssh.connection.ConnectionProtocol - 通道请求失败

为什么会这样?

0 投票
0 回答
281 浏览

java - J2SSH ChannelInputStream 读取方法被 tail -f 锁定

J2SSH ChannelInputStream 读取方法能够从命令中获取输出。但是,如果我尝试通过 J2SSH 执行“tail -f file.txt > output.txt &”(bash),读取方法会被锁定。我认为这是因为在“tail -f”中没有可读取的输出......

好吧,我要做的是在后台启动“tail -f”,读取 bash 输出以确保“tail”已正确启动(没有从 bash 收到退出代码错误)并按照我的流程java 代码(是的,tail -f 将继续在操作系统中运行)。但是,我被锁定在 (ChannelInputStream) 读取方法中,等待输出,可能来自 tail -f...

如果我杀掉tail -f 进程,代码流就恢复正常了。这意味着(ChannelInputStream)读取方法不适用于“tail -f”。

有什么建议么?有什么方法可以将 bash 中的内容发送到 read 方法以跟随流程?

“流是 ChannelInputStream 类型”

0 投票
1 回答
1930 浏览

java - Java J2SSH SFTP - 主机密钥无效

我正在使用 J2SSH 0.2.9 SFTP。连接到特定 SFTP 站点时,我收到错误消息

主机密钥签名无效

但是使用 WinSCP 或 Filezilla 连接到同一个站点不会给我任何错误。

需要关注的特定代码区域是

在 TransportProtocolClient.java 中

关键是 SSH-DSS,如果它有所作为的话。