问题标签 [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.
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 人”。
我错过了一些简单的东西吗?还有其他想法吗?
-肖恩
java - 如何使用带有密码的 sshtools SftpClient?
我正在尝试使用 j2ssh SshClient 但没有成功。
我正在尝试使用私有 RSA 密钥 + 密码打开连接。我发现了一些我不确定是写方法的东西:
我正在使用 setPersistableProperties 方法来加载保存相关数据的 Properties 对象。我已将 PrivateKey 设置为文件名,并将密码短语设置为相关的密码短语。
别的东西是我得到一个提示:
我尝试使用设置为“no”的 StrictHostKeyChecking 属性来删除它。(当然没有成功)
任何想法??
谢谢!
java - SFTP j2ssh,我可以在没有密码或密钥的情况下连接吗?
我必须通过 sftp 连接到服务器,但我只有用户(这是一个操作系统用户)和 IP,我没有密码或密钥的方向,有没有办法连接和上传文件方法?我正在使用 j2ssh .. 谢谢
java - 通过 ssh 发送命令并读取输出结果
我有代码可以通过 ssh 连接到远程服务器并向其发送 2 个或更多命令(例如:cd /export/home/ops/bin
和“./viewlinkload –time 20131205-19”),但我没有看到执行的命令并且没有收到结果.
我需要获取从服务器返回的结果并显示它。
这是代码发送命令:
如果我更改命令是“ls\n”,最后一条记录在“while ((line = bufferedReader.readLine()) != null)”处暂停并且不运行。帮我。谢谢大家。
java - 我可以在我的 java 代码中使用两个 ssh java lib 吗?
我正在使用 j2ssh,但由于某些原因(我们还无法检测到),我们决定切换到新的 ssh 库。
在 j2ssh 中,对于 2 个没有给出预期结果的函数,我们必须切换到新的 ssh(我发现 vngx-jsch 合适)
但仅针对 2 个功能,我需要对所有我不想做的 ssh 相关功能进行全面返工。
所以我有以下疑问: -
- 我可以同时使用 lib 吗?
- 是否有意义 ?
- 如果我保持 j2ssh 原样并且只为这两个函数加载 vngx-ssh 会怎样?
- 可能吗?
- 怎么做 ?有什么例子吗?
java - 如何阻止 J2SSH SFTP put 命令更改权限
我得到错误:
经过一番挖掘,我发现 SftpClient.put 命令在上传文件后会自动执行 chmod。有没有办法让我禁用它?
我确定初始 .put 可以按预期工作,因为当我检查远程服务器的文件时,它存在并且所有字节都占了。
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 会话失败,有什么解决办法呢?
java - j2ssh sshclient 不等待远程命令完成
我有使用 j2ssh sshclient 在 linux 服务器上执行远程命令的方法。远程命令的执行时间从几秒到一分钟不等。我需要 Java 程序等到命令完成执行后再继续,但它没有。Java 程序运行该命令,但在远程命令完成之前继续运行。这是我的方法:
java - 在 j2ssh 上运行 sudo 命令
我正在尝试编写一些连接到 linux 工作站的 Java 代码,使用 sudo 执行命令,然后阻塞直到命令完成。
似乎没有等待程序完成或返回输出。
效果很好,但不适用于 sudo。我试过设置命令:
"su -c \"touch /tmp/whatever\"" (touch不是我正在运行的命令,只是用它来测试。)这不起作用。
“sudo touch /tmp/whatever”这不起作用。
这样做的神奇公式是什么????提前致谢。