问题标签 [sshj]
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.
ssh - 使用多个密钥的 SSHJ 主机指纹验证
我们使用 sshj 库通过 ssh 从 java 连接到远程主机。为此,我们配置了在主机验证期间使用的单个指纹。
一段时间后,我们开始出现随机主机密钥验证错误。在多个 ssh 连接中,只有一些失败
据我了解,这是因为主机为不同的算法(、、、)配置了ssh-rsa
多个ssh-ed25519
密钥ecdsa-sha2-nistp256
。
- 这里正确的方法是什么,我们是否应该添加多个验证器,每个已知密钥一个?
- 为什么是随机的?ssh/sshj 使用什么方法来选择正在使用的密钥?
java - 使用密钥认证的 JAVA SSH 客户端
我正在尝试连接到 SFTP 服务器,在我家的另一台笔记本电脑上运行(在 win 10 上运行)我正在使用SSHJ库。当我使用带密码的身份验证时,它工作正常:
但是当我尝试使用密钥进行身份验证时,我收到异常“用尽可用的身份验证方法”我不确定是否需要使用私钥或公钥,所以我尝试了两者(取自 SFTP 服务器),都返回同样的错误。这是我的代码:
任何提示我做错了什么?
java - 使用 sshj 在 SFTP 服务器上解决不支持的 SETSTAT 请求
我正在尝试使用身份字符串 SFTP 到服务器:SSH-2.0-AWS_SFTP_1.0 使用 sshj 使用以下 Java 代码。
并得到错误
错误 SETSTAT 不支持
我了解 AWS 服务不允许在上传时设置时间戳,但我不知道需要进行哪些调整才能配置 SFTP 客户端。
问候康泰
sshj - 如何在 Java 中进行 SFTP(禁用 SSH 时)
我的公司已禁用 SSH,但允许使用 SFTP。
例如,“sftp”命令可以工作,但“ssh”不能。
他们可能在“/etc/ssh/sshd_config”中配置了类似的东西:
是否有无需打开 SSH 连接即可工作的 Java SFTP 客户端?
我正在使用 sshj,典型的模式不起作用:
上面的代码在“sshClient.connect()”处抛出异常:
java - Java SSHJ 库和启用日志记录
下面是我的 java 1.8 程序的示例部分。尝试进行身份验证时似乎失败了。它通过多种身份验证方法,然后宣布其用完。我想从 sshj 库中查看调试信息,以帮助我确定失败的原因:- 用户名、密钥交换或其他内容。我熟悉 log4j,我可以在我的代码中放置日志记录语句,但是我找不到一个示例(简单易懂),它告诉我如何将 log4j 连接到 sfl4j,然后告诉 sshj 使用记录器。
'''
'''
java - sshj应该如何连接ssh,这让我很困惑
虽然 sshj 的 github 里有例子,但是我不明白我在做什么。我使用以下代码尝试连接到我的主机,仅此而已
运行的结果是这样的
密钥文件的格式
不知道怎么办,jsch不支持这种格式的key文件
java - 获取 java.io.IOException:尝试将文件 XXXXXX 上传到路径 XXXXXX,但那是一个目录。使用 net.schmizz.sshj.SSHClient 时
在对远程服务器执行 SFTP 时出现此异常
以下是异常的堆栈跟踪
以下是正在使用的代码片段
我已经检查并确保本地服务器上的文件存在。远程服务器上的目录也存在。也尝试过使用 StatefulSFTPClient。远程服务器上也不存在与文件名同名的目录。
详细日志:
对于没有这样的文件:
WinScp 文件传输成功日志
java - 如何使用 SSHJ 从 SFTP 服务器获取预过滤的文件列表
我正在使用SSHJ SFTP 库从 SFTP 服务器获取文件列表。与服务器的连接非常慢,目录中有数万个文件。通常获取文件列表会以各种超时/套接字错误结束。
是否有可能告诉客户仅从例如检索文件列表。“.zip”文件,以便对性能产生积极影响?伪命令:sftpClient.ls("*.zip")
我知道有一种方法List<RemoteResourceInfo> net.schmizz.sshj.sftp.SFTPClient.ls(String path, RemoteResourceFilter filter)
可以过滤列表,但据我了解,过滤只会发生在客户端?IE。客户端仍然会收到整个文件列表,然后它将被过滤。
有没有办法实现这一点,以便服务器只返回请求的名称?SFTP 协议甚至支持这个吗?
java - 在 Tomcat 中运行时出现 NoClassDefFoundError PKCS8EncodedKeySpec
我com.hieronymus:sshj
在版本0.31.0
中使用在 Spring Boot 应用程序和数据交换服务器之间建立 ssh 连接。为了验证应用程序,使用由默认设置生成的私有 SSH 密钥ssh-keygen
,没有密码保护。它以 pem 格式作为文件存储在本地文件系统中。
以下代码用于处理身份验证:
当我从 IntelliJ 或 fat jar 运行应用程序时,一切正常。但是,当我将其打包为 war 文件并将其部署到在 JDK 11 上运行的 Tomcat 9 服务器时,问题开始出现,我也使用它来开发它:
这确实让我很吃惊,因为PKCS8EncodedKeySpec
它是“java 核心”的一部分。这些库显然能够解析文件,但在创建关键对象时却失败了。
Tomcat 是否以某种方式阻止部署的应用程序解析私有 SSH 密钥?我是否需要将密钥放在某个密钥库中并从那里加载它们?有没有人遇到过这个问题?
java - SSHJ中不同超时的含义
我正在尝试使用 SSHJ 从我的 Java 应用程序连接到 SFTP。存在几种不同的超时,但我找不到它们之间的区别。即使是官方文档也不是很有帮助。有人可以解释两者之间的区别吗?
提前致谢。