我正在使用 com.jcraft.jsch.JSch
来创建SFTP连接 .
是否有办法绕过/跳过无法 Build 连接真实性时弹出的真实性警告?
这里有更多细节:
我的代码看起来有点像这样:
Session session = jsch.getSession(user, host, port);
UserInfo ui = new MyUserInfo();
session.setUserInfo(ui);
session.connect();
调用 session.connect();
行时,我会看到一个弹出窗口:
The authenticity of host <MY HOST> can't be established.
...
Are you sure you want to continue connecting?
[No] [Yes]
有没有办法以编程方式绕过/跳过此弹出窗口并接受连接?
2 回答
看一下Jsch中的这些示例:http://www.jcraft.com/jsch/examples/Exec.java.html http://www.jcraft.com/jsch/examples/Shell.java.html您会注意到它们都创建了一个自定义
UserInfo
类并使用session.setUserInfo(UserInfo ui);
将其传递给会话对象 .避免弹出窗口的方法是传入您自己的
UserInfo
对象 . 您可以通过扩展UserInfo
类并覆盖promptYesNo
函数来完成此操作,如下所示:请注意,名称以“prompt”开头的所有函数都用于通过弹出对话框提示用户输入信息 . 您可以覆盖这些函数以便以其他方式传递信息 .
我知道这个帖子已经很老了,如果它已经解决了就不需要任何回复,但是一周后我也在研究一个有类似要求的应用程序 .
Jon7说的是对的;除此之外,还有一种不同的方式,即不扩展任何类 .
只是另一种可以帮助别人的方式:)
问候,
ICR