如何使用java程序中的用户名和ppk文件连接winscp

时间:2015-08-03 06:48:25

标签: java sftp winscp

我必须使用java程序在WinSCP上生成并放置一些文件。要连接到框(使用WinSCP),我使用以下凭据: 主机名: 用户名: 港口: 私钥文件:

我搜索了How to retrieve a file from a server via SFTP?并找到了以下代码:

import com.jcraft.jsch.*;
public class TestJSch 
{
    public static void main(String args[]) {
        JSch jsch = new JSch();
        Session session = null;`enter code here`
        try {
            session = jsch.getSession("username", "127.0.0.1", 22);
            session.setConfig("StrictHostKeyChecking", "no");
            session.setPassword("password");
            session.connect();

            Channel channel = session.openChannel("sftp");
            channel.connect();
            ChannelSftp sftpChannel = (ChannelSftp) channel;
            sftpChannel.get("remotefile.txt", "localfile.txt");
            sftpChannel.exit();
            session.disconnect();
        } catch (JSchException e) {
            e.printStackTrace();  
        } catch (SftpException e) {
            e.printStackTrace();
        }
    }
}

所有这些代码都使用密码,而我没有密码,只有私钥文件。任何人都可以帮我知道如何才能使用私钥文件连接服务器?

0 个答案:

没有答案