我想构建一个使用sftp协议的Android应用,但是我使用密码字段收到了身份验证失败错误:
try {
JSch ssh = new JSch();
Session session = ssh.getSession("xxxx", "xxxxxxxx.com", 22);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword("xxxxxxx");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
sftp.get("/opt/bitnami/apache2/htdocs/test/Test.txt", "/sdcard/text.txt");
Toast.makeText(getApplicationContext(), "DOWNLOAD SUCCESSFULL", Toast.LENGTH_LONG).show();
channel.disconnect();
session.disconnect();
} catch (JSchException e) {
System.out.println(e.getMessage().toString());
//Toast.makeText(getApplicationContext(),"JSCh ERROR",Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (SftpException e) {
System.out.println(e.getMessage().toString());
//Toast.makeText(getApplicationContext(),"SFTP ERROR",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
return null;
}
答案 0 :(得分:0)
如果您仍然面临这个问题,那么, - 如果您有访问权限,请从服务器端检查,尝试使用浏览器中提供的用户名和密码进行连接。如果有效,请检查服务器端提供的身份验证类型是什么。有时它只是密钥,如果是这种情况请求更改在服务器设置中也将身份验证作为密码。