我必须使用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();
}
}
}
所有这些代码都使用密码,而我没有密码,只有私钥文件。任何人都可以帮我知道如何才能使用私钥文件连接服务器?