Heyy!
我在com.trilead.ssh2.Connection
中使用java 7
打开连接。
测试时,我在端口localhost
上打开与22
的连接:
Connection connection = new Connection("localhost", 22);
然后我尝试使用authenticateWithPublicKey
方法进行身份验证:
char[] key = IOUtils.toString(new FileInputStream("keyLocation")).toCharArray();
boolean authenticated = connection.authenticateWithPublicKey("myUsername", key, "");
但它没有进行身份验证。我正在mac sierra
上运行,我想知道这是否有任何关系。我正在使用dsa
对密钥。
谢谢!
答案 0 :(得分:0)
我无法解决dsa
对密钥(我相信它与密钥大小有关,而dsa是1024)。我创建了一个新的rsa
对密钥,大小为2048。就像信息一样,我将编写成功管理从我的mac sierra配置的java代码验证连接的步骤:
我在.ssh/
目录中:
ssh-keygen -t rsa -f 'key_name'
cat key_name.pub # copy the public key
# add the public key to authorized_keys file
ssh-add -K key_name
ssh-add -A
ssh-add -l # just to check if key is added
就是这样,我设法验证连接。