有人能给我一个使用SSHJ进行公钥认证的例子吗?我意识到这个问题与ssh example of private/public key authentication基本相同,但作者https://stackoverflow.com/users/126346/shikhar的回答是指一个不再存在的谷歌用户群,而我无法让它工作。
谢谢!菲尔
我们在SSHJ之上构建了overthere framework。哪个可以连接也使用密钥文件连接。下面的代码应该可以使用,但请确保将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"))