13

有人可以给我一个使用 SSHJ 进行公钥认证的例子吗?我意识到这个问题本质上与私钥/公钥身份验证的 ssh 示例相同,但是作者https://stackoverflow.com/users/126346/shikhar的答案指的是不再存在的 google 用户组,我是无法让它工作。

谢谢!菲尔

4

2 回答 2

12

我们在 SSHJ 之上构建了overthere 框架。可以连接也可以使用密钥文件进行连接。以下代码应该可以工作,但请确保将 bouncycastle 库添加到类路径中。

SSHClient client = new SSHClient();
String username = "johndoe";
File privateKey = new File("~/.ssh/id_rsa");
KeyProvider keys = client.loadKeys(privateKey.getPath());
client.authPublickey(username, keys);

希望有帮助。

于 2011-09-28T09:50:39.517 回答
1

我也有这个问题。我最终改变了

client.authPublickey(user, "id_rsa.pub")

client.authPublickey(user, client.loadKeys("id_rsa"))
于 2019-03-14T09:51:42.647 回答