有人可以给我一个使用 SSHJ 进行公钥认证的例子吗?我意识到这个问题本质上与私钥/公钥身份验证的 ssh 示例相同,但是作者https://stackoverflow.com/users/126346/shikhar的答案指的是不再存在的 google 用户组,我是无法让它工作。
谢谢!菲尔
有人可以给我一个使用 SSHJ 进行公钥认证的例子吗?我意识到这个问题本质上与私钥/公钥身份验证的 ssh 示例相同,但是作者https://stackoverflow.com/users/126346/shikhar的答案指的是不再存在的 google 用户组,我是无法让它工作。
谢谢!菲尔
我们在 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);
希望有帮助。
我也有这个问题。我最终改变了
client.authPublickey(user, "id_rsa.pub")
到
client.authPublickey(user, client.loadKeys("id_rsa"))