Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 木卫二号_Java_Ssh - Fatal编程技术网

Java 木卫二号

Java 木卫二号,java,ssh,Java,Ssh,我正在使用ganymed SSH2 java库使用公钥身份验证连接到服务器。 我已经创建了公钥/私钥对,并将公钥(mykey.pub)上载到我的服务器的/.ssh2目录中。我在本地计算机上有私钥 密钥信息:2048位dsa密钥对(ssh2) 我正在做这样的事情: File keyfile = new File("C:\\keys\\mykey"); String keyfilePass = "a"; // will be ignored if not need

我正在使用ganymed SSH2 java库使用公钥身份验证连接到服务器。 我已经创建了公钥/私钥对,并将公钥(mykey.pub)上载到我的服务器的/.ssh2目录中。我在本地计算机上有私钥

密钥信息:2048位dsa密钥对(ssh2)

我正在做这样的事情:

File keyfile = new File("C:\\keys\\mykey");                  
String keyfilePass = "a"; // will be ignored if not needed

        try
        {

            Connection conn = new Connection(hostname);
            conn.connect();


            boolean isAuthenticated = conn.authenticateWithPublicKey("myusername", keyfile, keyfilePass); 
           //I get an error at this line
我得到的错误是:

Caused by: java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
    at ch.ethz.ssh2.crypto.PEMDecoder.parsePEM(PEMDecoder.java:138)
有人能帮忙吗? 还有比这更好的图书馆吗

编辑:密钥文件

---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Subject: username    Comment: "2048-bit dsa, username@host, Tue Jul 31 2012 13:12:48 -\
0500"
KEY   
---- END SSH2 ENCRYPTED PRIVATE KEY ----
解决方案:


我解决了问题,密钥必须转换为OPENSSH格式(我使用puttygen)。此java库只接受openssh格式的私钥。

您可以自己看到密钥不是预期格式。您是如何生成它的?

您可以自己看到密钥不是预期的格式。您是如何生成的?

标题“BEGIN SSH2 ENCRYPTED PRIVATE KEY”表示您的私钥是由专有ssh系统从ssh.com生成的

还有比这更好的图书馆吗

如果您的密钥未加密,JSch将接受此密钥。

标题“BEGIN SSH2 ENCRYPTED PRIVATE key”(开始SSH2加密私钥)表示您的私钥是由专有ssh系统从ssh.com生成的

还有比这更好的图书馆吗


如果您的密钥未加密,JSch将接受此密码。

您可以发布您的密钥文件。。。可能用密钥替换实际密钥。你能发布你的密钥文件吗。。。可能用钥匙替换实际钥匙。