有人能給我一個使用SSHJ進行公鑰驗證的例子嗎?我意識到這個問題與ssh example of private/public key authentication基本相同,但作者https://stackoverflow.com/users/126346/shikhar的回答指的是不再存在的谷歌用戶組,我無法使其工作。SSHJ文件公鑰驗證示例
謝謝! 菲爾
有人能給我一個使用SSHJ進行公鑰驗證的例子嗎?我意識到這個問題與ssh example of private/public key authentication基本相同,但作者https://stackoverflow.com/users/126346/shikhar的回答指的是不再存在的谷歌用戶組,我無法使其工作。SSHJ文件公鑰驗證示例
謝謝! 菲爾
我們在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);
希望有幫助。
它爲我的作品:
try (final SSHClient sshClient = new SSHClient()) {
sshClient.addHostKeyVerifier(new PromiscuousVerifier());
KeyProvider keys = sshClient.loadKeys("path_to_private_key.ppk");
sshClient.connect("hostname");
sshClient.authPublickey("username", keys);
} catch (IOException e) {
}
您好,感謝響應!這絕對是你的代碼?我試圖編碼它,並得到SSHClient.loadKeys不接受文件作爲參數的錯誤,根據http://schmizz.net/sshj/javadoc/0.5.0/net/schmizz/sshj/SSHClient。 html是正確的。我以前嘗試提供位置作爲字符串loadKeys,無濟於事。我誤讀你的代碼嗎? – Obiphil
我忘了添加getPath()。剝去了相當多的框架代碼給你一個簡潔的答案;) –
唉,這基本上就是我所做的,並沒有奏效。我現在已經放棄了SSHJ,而是使用JSch,因爲它似乎提供了等效的功能,但我實際上可以開展工作。謝謝你的幫助! – Obiphil