liunx命令:
sftp -oIdentityFile=私钥路径 -oPort=端口 用户名@地址
/**
* 获取sftp协议连接.
* @param filepath 私钥存放位置
* @param host 主机名
* @param port 端口
* @param username 用户名
* @param password 密码
* @return 连接对象
* @throws JSchException 异常
*/
public static ChannelSftp getSftpConnect(final String filepath,final String host, final int port, final String username,
final String password) throws JSchException {
ChannelSftp sftp = null;
JSch jsch = new JSch();
Session sshSession = null;
//添加私钥
jsch.addIdentity(filepath,password);
sshSession=jsch.getSession(username, host, port);
Properties sessionConfig = new Properties();
//SSH 公钥检查机制 no、ask、yes
sessionConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sessionConfig);
sshSession.connect();
Channel channel = sshSession.openChannel("sftp");
channel.connect();
sftp = (ChannelSftp) channel;
return sftp;
}