我正在尝试获取服务器的公钥。这是我尝试过的:
val serverKey = sshClient.connect("dyn mem", "localhost", "2222")
.verify()
.getSession()
.getKex()
.getServerKey()
问题是 getServerKey()
的结果为 null...
如何使用 Apache SSHD 客户端获取 SSH 服务器的公钥。
最佳答案
connect()
和随后的 key 交换都是异步操作,因此需要等待几次。例如。 :
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();
关于java - Apache SSHD 客户端获取服务器公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50591430/