我想构建一个使用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;
}发布于 2017-08-05 00:23:05
如果你仍然面临这个问题,那么从服务器端-Check如果你有访问权限,尝试使用browser.If中提供的用户名和密码进行连接,检查服务器端的身份验证类型provided.Sometime它是唯一的关键字,如果是这种情况,请要求更改服务器设置以提供身份验证作为密码。
https://stackoverflow.com/questions/42812969
复制相似问题