【问题标题】:How should I use sshj to connect with ssh, which makes me very confused我应该如何使用sshj连接ssh,这让我很困惑
【发布时间】:2022-01-26 10:34:17
【问题描述】:

虽然sshj的github里有例子,但是不明白自己在做什么。我使用以下代码尝试连接到我的主机,就是这样

 @Test
    public void sshTest() throws IOException {
        SSHClient client = new SSHClient();
        String username = "username";
        File privateKey = new File("D:\\SSH\\remote_new");
        client.addHostKeyVerifier(new PromiscuousVerifier());
        client.connect("myMostIp", 22);
        KeyProvider keys = client.loadKeys(privateKey.getPath());
        client.authPublickey(username, keys);
        client.close();
    }

运行的结果是这样的

net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods


Caused by: net.schmizz.sshj.userauth.UserAuthException: Problem getting public key from PKCS8KeyFile{resource=[PrivateKeyFileResource] D:\SSH\matcloud_new}

    ... 66 more
Caused by: java.io.IOException: unrecognised object: OPENSSH PRIVATE KEY
    at org.bouncycastle.openssl.PEMParser.readObject(Unknown Source)
    ... 71 more

密钥文件的格式

-----BEGIN OPENSSH PRIVATE KEY-----
XXXXXXXXX
-----END OPENSSH PRIVATE KEY-----

不知道怎么办,jsch不支持这种格式的key文件

【问题讨论】:

  • 什么版本的 sshj?根据 github 上的 README,sshj(与 jsch 不同,尽管两者都实现了 SSH)自 0.19.0 2016-11-25 起支持 Ed25519 的 OpenSSH-newformat 文件,自 0.27.0 2019-01-24 起支持其他密钥类型
  • 我用的是最新的0.10.0版本,但是问题是我用sshj的时候连密码都登录不了。
  • 0.10.0 不是最新版本,而是从 2014 年开始的。如果主机允许密码验证(并非所有人都这样做)使用它,您需要调用 .authPassword() 方法之一。
  • 那么最新的版本是什么?使用jsch的时候,可以通过密码正常连接,但是不能通过sshj。 jsch不支持新版openssh密钥格式
  • The most recent release is 0.30.0 虽然正如我之前所说的 0.27.0(从 2 年前开始)或更高版本应该完全支持 OpenSSH-newfmt 文件。

标签: java ssh sshj


【解决方案1】:

最新版本是 0.30.0,尽管正如我之前所说的 0.27.0(从 2 年前开始)或更高版本应该完全支持 OpenSSH-newfmt 文件。 – 戴夫汤普森_085

使用它https://github.com/hierynomus/sshj#user-content-release-history

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2021-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
相关资源
最近更新 更多