gpt4 book ai didi

java - 如何使用 sshj java api 使用用户名和密码连接到远程计算机?

转载 作者:行者123 更新时间:2023-12-02 05:25:00 25 4
gpt4 key购买 nike

如何使用 sshj java api 通过用户名和密码连接到远程计算机?

我尝试了这段代码。这段代码有什么问题?

final SSHClient ssh = new SSHClient();
ssh.connect("192.168.0.1");
ssh.authPassword("abcde", "fgh".toCharArray());
try {
final Session session = ssh.startSession();
try {
final Command cmd = session
.exec("cd /home/abcde/Desktop/");
System.out.println(IOUtils.readFully(cmd.getInputStream())
.toString());
cmd.join(5, TimeUnit.SECONDS);
System.out.println("\n** exit status: " + cmd.getExitStatus());
} finally {
session.close();
}
} finally {
ssh.disconnect();
}

它抛出以下错误。

net.schmizz.sshj.transport.TransportException: [HOST_KEY_NOT_VERIFIABLE] Could not verify ssh-rsa host key with fingerprint ******** for 192.168.0.1 on port 22

最佳答案

您可以通过实现 HostKeyVerifier 来解决您的问题

class NullHostKeyVerifier implements HostKeyVerifier {
@Override
public boolean verify(String arg0, int arg1, PublicKey arg2) {
return true;
}
}

并将这个假实现添加到您的 SSHClient 实例配置中:

...
final SSHClient ssh = new SSHClient();
ssh.addHostKeyVerifier(new NullHostKeyVerifier());
...

关于java - 如何使用 sshj java api 使用用户名和密码连接到远程计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com