공개 키 인증을 위해 SSHJ를 사용하는 예를 누군가 줄 수 있습니까? 나는이 질문이 근본적으로 ssh example of private/public key authentication과 동일하다는 것을 알고 있지만, 저자 https://stackoverflow.com/users/126346/shikhar의 대답은 더 이상 존재하지 않는 Google 사용자 그룹을 말하며 작동에 문제가 있습니다.SSHJ 공개 키 인증의 예
감사합니다. 필
공개 키 인증을 위해 SSHJ를 사용하는 예를 누군가 줄 수 있습니까? 나는이 질문이 근본적으로 ssh example of private/public key authentication과 동일하다는 것을 알고 있지만, 저자 https://stackoverflow.com/users/126346/shikhar의 대답은 더 이상 존재하지 않는 Google 사용자 그룹을 말하며 작동에 문제가 있습니다.SSHJ 공개 키 인증의 예
감사합니다. 필
우리는 overthere framework을 SSHJ 위에 구축했습니다. 연결 가능한 키 파일을 사용하여 연결할 수도 있습니다. 다음 코드 조각은 작동하지만 classpath에 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이 맞습니다. 나는 이전에로드 키즈를 사용할 문자열을 제공하려고 시도했지만 아무 소용이 없습니다. 내가 당신의 코드를 잘못 읽었습니까? – Obiphil
getPath()를 추가하는 것을 잊었습니다. 간결한 답변을 제공하기 위해 상당량의 프레임 워크 코드를 제거했습니다.) –
아아, 본질적으로 내가 한 일이며 작동하지 않습니다. 지금 SSHJ를 포기했습니다. 대신 JSch를 사용하십시오. 동등한 기능을 제공하는 것으로 보이지만 실제로 작동 할 수 있습니다. 당신의 도움을 주셔서 감사합니다! – Obiphil