java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
Session session=jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
session.connect();
我使用上面的代码片段连接到没有键盘交互式身份验证的远程计算机。
但是当我尝试使用键盘交互密码连接到服务器时,我得到了一个com.jcraft.jsch.JSchException: Auth fail
例外。
我添加了这些配置并进行了测试,但没有成功。
config.put("PreferredAuthentications", "password");
and
config.put("PreferredAuthentications",
"keyboard-interactive,password");
尝试这个。
JSch jSch;
try {
Properties properties = new Properties();
properties.put("PreferredAuthentications", "publickey,keyboard-interactive,password");
properties.put("StrictHostKeyChecking", "no");
properties.put("UseDNS", "no");
jSch = new JSch();
Session session = jSch.getSession("username", "host/ip", 22);
session.setConfig(properties);
session.setTimeout(10 * 1_000);
session.setPassword("password");
session.connect();
Channel channel = session.openChannel("shell");
channel.connect();
} catch (Exception e) {
e.printStackTrace();
} finally {
channel.disconnect();
session.disconnect();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)