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