应该怎么用sshj连接ssh,搞得我很迷茫

问题描述

虽然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不支持这种格式的密钥文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)