有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java jsch身份验证在没有私钥的情况下失败

我正在使用Jsch执行ssh命令。 当我传递私钥时,它工作得很好,但我需要它在不传递私钥的情况下工作(它已经被复制到那里)

因此,在控制台中,我可以使用ssh连接到此服务器,而无需任何操作。但是Jsch抛出Auth失败。我怎么做

Session session = jSch.getSession(server);
session.setConfig("StrictHostKeyChecking", "no");
session.setConfig("UserKnownHostsFile", "/dev/null");
session.connect(connectTimeout);

共 (1) 个答案

  1. # 1 楼答案

    根据设计,你总是需要有私钥来证明你是你所说的人。你的私钥永远不会“被复制到那里”如果您在一个shell中成功地连接到ssh,而“没有任何东西”,那肯定是因为您的ssh被配置为查找私钥,并且它正在成功地这样做