我遇到与JSch连接的问题,有我用于建立会话的代码,我已经设置了登录名和密码,但是在执行之后,输入控制台仍然提示输入登录名和密码,无论我输入什么,它都会成功创建连接。
我如何解决这个问题,我希望该程序不需要任何人工干预,以便我可以自动执行它?
//有一个输出屏幕截图: http://www.hostingpics.net/viewer.php?id=932299jschproblem.png
public class jschConnect{
public static void main(String args[])
{
String host="x.x.x.x";
String user="username";
String password="
try{
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();
System.out.println("Connected");
}}}
答案 0 :(得分:-1)
问题已解决,here is a similar issue。
我刚添加此代码,从首选身份验证方法列表中删除Kerberos / GSSAPI(gssapi-with-mic):
session.setConfig(
"PreferredAuthentications",
"publickey,keyboard-interactive,password");