问题标签 [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 回答
5729 浏览

java - sshtools.SftpClient.put 失败并显示“没有这样的文件”

我继承了一个基于 Java 的项目,其中包括一个通过 SFTP 将文件上传到第三方服务器的 cron 作业。这是相关的代码。

非常简单,但它不起作用。执行时client.put(),失败并显示“java.io.IOException:没有这样的文件”。这是堆栈跟踪。

filePath是文件的绝对路径。是的,我已经检查了明显的:路径正确并且文件存在。文件权限为 664,因此在任何情况下读取都不会失败,但该进程以 root 身份运行以启动。

我已经尝试了我能想到的一切。

  • 我一直检查目录树的读取权限(有点深)。
  • 我已经尝试过lcd()该目录,一旦我到达那里lpwd()。这似乎很好,但 put 仍然失败,所以长路径名似乎不是问题。
  • 我仔细检查以确保最初写入文件的文件流都被正确关闭。我没有看到任何让我认为这可能是问题的地方。
  • 我尝试使用完整路径创建和实例,j2ssh.sftp.SftpFile以查看它是否可以访问该文件并确保“无此类文件”错误与远程主机无关。当我执行时,SftpFile.canRead()我得到一个空指针异常,所以我认为这是一个本地问题。

我已经很多年没有接触过Java了。说我生疏是轻描淡写的。然而,我们最后一个“Java 人”刚刚退出,我是我店里唯一一个接触过 Java的人,所以我是新的“Java 人”。

我错过了一些简单的东西吗?还有其他想法吗?

-肖恩

0 投票
1 回答
598 浏览

java - 如何使用带有密码的 sshtools SftpClient?

我正在尝试使用 j2ssh SshClient 但没有成功。

我正在尝试使用私有 RSA 密钥 + 密码打开连接。我发现了一些我不确定是写方法的东西:

我正在使用 setPersistableProperties 方法来加载保存相关数据的 Properties 对象。我已将 PrivateKey 设置为文件名,并将密码短语设置为相关的密码短语。

别的东西是我得到一个提示:

我尝试使用设置为“no”的 StrictHostKeyChecking 属性来删除它。(当然没有成功)

任何想法??

谢谢!

0 投票
1 回答
743 浏览

java - SFTP j2ssh,我可以在没有密码或密钥的情况下连接吗?

我必须通过 sftp 连接到服务器,但我只有用户(这是一个操作系统用户)和 IP,我没有密码或密钥的方向,有没有办法连接和上传文件方法?我正在使用 j2ssh .. 谢谢

0 投票
1 回答
7913 浏览

java - 通过 ssh 发送命令并读取输出结果

我有代码可以通过 ssh 连接到远程服务器并向其发送 2 个或更多命令(例如:cd /export/home/ops/bin和“./viewlinkload –time 20131205-19”),但我没有看到执行的命令并且没有收到结果.

我需要获取从服务器返回的结果并显示它。

这是代码发送命令:

如果我更改命令是“ls\n”,最后一条记录在“while ((line = bufferedReader.readLine()) != null)”处暂停并且不运行。帮我。谢谢大家。

0 投票
2 回答
90 浏览

java - 我可以在我的 java 代码中使用两个 ssh java lib 吗?

我正在使用 j2ssh,但由于某些原因(我们还无法检测到),我们决定切换到新的 ssh 库。

在 j2ssh 中,对于 2 个没有给出预期结果的函数,我们必须切换到新的 ssh(我发现 vngx-jsch 合适)

但仅针对 2 个功能,我需要对所有我不想做的 ssh 相关功能进行全面返工。
所以我有以下疑问: -

  1. 我可以同时使用 lib 吗?
  2. 是否有意义 ?
  3. 如果我保持 j2ssh 原样并且只为这两个函数加载 vngx-ssh 会怎样?
  4. 可能吗?
  5. 怎么做 ?有什么例子吗?
0 投票
1 回答
135 浏览

java - 使用 SSHTools 时如何摆脱转义序列?

我正在使用SSHTools / J2SSH 通过 SSH 连接到服务器。一切正常,唯一的问题是输出包含奇怪的转义序列/字符。我在某处读到,这些是颜色代码,不是编码问题。现在我的问题是:我如何摆脱它们?似乎我需要某种终端仿真,它可以解释或剥离这些代码。
这是输出ls

(注意:我需要调用其他命令,所以ls --color=never不会做这项工作。)

我之前尝试过Jsch库,你可以用((ChannelShell)channel).setPty(false);它来摆脱这些字符,但我没有找到与 SSHTools 类似的东西。

0 投票
0 回答
1060 浏览

java - 如何阻止 J2SSH SFTP put 命令更改权限

我得到错误:

经过一番挖掘,我发现 SftpClient.put 命令在上传文件后会自动执行 chmod。有没有办法让我禁用它?

我确定初始 .put 可以按预期工作,因为当我检查远程服务器的文件时,它存在并且所有字节都占了。

0 投票
1 回答
2236 浏览

java - J2ssh ssh 客户端频繁断开连接

我正在使用单线程应用程序来连接我的客户端服务器架构。基本上,此应用程序将创建许多连接并在作业完成后自动关闭它。我们遇到了一个例外

'com.sshtools.j2ssh.transport.TransportProtocolException:连接未完成'

我们启用了 j2ssh 日志来找出问题的根本原因。以下是有关该问题的完整详细信息。

Java版本:jdk1.6.0_11

使用的 API:J2SSH 核心 0.2.9 (j2ssh-core-0.2.9.jar)

........以及以下代码

有没有办法克服这个错误?由于这种错误会导致应用程序的一个 sftp 会话失败,有什么解决办法呢?

0 投票
2 回答
1254 浏览

java - j2ssh sshclient 不等待远程命令完成

我有使用 j2ssh sshclient 在 linux 服务器上执行远程命令的方法。远程命令的执行时间从几秒到一分钟不等。我需要 Java 程序等到命令完成执行后再继续,但它没有。Java 程序运行该命令,但在远程命令完成之前继续运行。这是我的方法:

0 投票
2 回答
185 浏览

java - 在 j2ssh 上运行 sudo 命令

我正在尝试编写一些连接到 linux 工作站的 Java 代码,使用 sudo 执行命令,然后阻塞直到命令完成。

似乎没有等待程序完成或返回输出。

效果很好,但不适用于 sudo。我试过设置命令:

"su -c \"touch /tmp/whatever\"" (touch不是我正在运行的命令,只是用它来测试。)这不起作用。

“sudo touch /tmp/whatever”这不起作用。

这样做的神奇公式是什么????提前致谢。