2014-01-10 56 views
1

我试图从Java脚本连接到我的SFTP服务器。 我使用JSch lib来达到我的目的。用户名,密码和主机名是正确的,但我获得:Auth失败错误。JSchException:身份验证失败和指纹

我也尝试在session.connect()之前添加以下几行,但问题仍然存在。

java.util.Properties config = new java.util.Properties(); 
config.put("StrictHostKeyChecking", "no"); 
session.setConfig(config); 

我必须将什么放在knownhosts.txt中?我的服务器密钥的指纹?

public static void upload(ArrayList<File> a) { 
try{ 
    JSch jsch = new JSch(); 

    jsch.setKnownHosts("knownhosts.txt"); 

    Session session = jsch.getSession("username", "hostname", 22); 
    session.setPassword("mypassword"); 

    session.connect(); 

    Channel channel = session.openChannel("sftp"); 
    channel.connect(); 
    ChannelSftp channelSftp = (ChannelSftp) channel; 

    channelSftp.cd("/var/www/"); 

    for(File object: a){ 
     channelSftp.put(new FileInputStream(object), object.getName(), channelSftp.OVERWRITE); 
    } 
    channelSftp.exit(); 
session.disconnect(); 

} catch (Exception ex) { 
    ex.printStackTrace(); 
    }   
} 

你有什么建议吗?提前致谢!

回答