【发布时间】:2014-01-14 03:14:42
【问题描述】:
我正在尝试从 Java 脚本连接到我的 SFTP 服务器。 我出于我的目的使用 JSch lib。用户名、密码和主机名都正确,但我收到:Auth fail 错误。
我也尝试在 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();
}
}
你有什么建议吗?提前致谢!
【问题讨论】: