我正在尝试获取服务器的公钥。这就是我试过的:
val serverKey = sshClient.connect("dyn mem", "localhost", "2222")
.verify()
.getSession()
.getKex()
.getServerKey()
问题是得到getServerKey()
的结果为空......
如何使用Apache SSHD客户端获取SSH服务器的公钥。
答案 0 :(得分:2)
connect()
和后续密钥交换都是异步操作,因此需要等待几次。例如。 :
ConnectFuture connectFuture = client.connect(username, host, 22);
connectFuture.await(5000);
ClientSession session = connectFuture.getSession();
session.waitFor(Arrays.asList(ClientSessionEvent.WAIT_AUTH), 5000);
session.getKex().getServerKey();