package com.cafintech.wzz;
import com.jcraft.jsch.*;
import java.util.Properties;
/**
* Created by 15600 on 2017/9/6.
*/
public class SshUtil {
private ChannelSftp channelSftp;
private ChannelExec channelExec;
private Session session=null;
private int timeout=60000;
public SshUtil(SshConfiguration conf) throws JSchException {
System.out.println("try connect to "+conf.getHost()+",username: "+conf.getUserName()+",password: "+conf.getPassword()+",port: "+conf.getPort());
JSch jSch=new JSch(); //创建JSch对象
session=jSch.getSession(conf.getUserName(), conf.getHost(), conf.getPort());//根据用户名,主机ip和端口获取一个Session对象
session.setPassword(conf.getPassword()); //设置密码
Properties config=new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);//为Session对象设置properties
session.setTimeout(timeout);//设置超时
session.connect();//通过Session建立连接
}
public void download(String src,String dst) throws JSchException, SftpException{
//src linux服务器文件地址,dst 本地存放地址
channelSftp=(ChannelSftp) session.openChannel("sftp");
channelSftp.connect();
channelSftp.get(src, dst);
channelSftp.quit();
}
public void upLoad(String src,String dst) throws JSchException,SftpException{
//src 本机文件地址。 dst 远程文件地址
channelSftp=(ChannelSftp) session.openChannel("sftp");
channelSftp.connect();
channelSftp.put(src, dst);
channelSftp.quit();
}
public void close(){
session.disconnect();
}
public static void main(String[] args){
SshConfiguration configuration=new SshConfiguration();
configuration.setHost("172.17.1.232");
configuration.setUserName("root");
configuration.setPassword("root275858");
configuration.setPort(22);
try{
// SshUtil sshUtil=new SshUtil(configuration);
// sshUtil.download("/home/cafintech/Logs/metaData/meta.log","D://meta.log");
// sshUtil.close();
// System.out.println("文件下载完成");
SshUtil sshUtil=new SshUtil(configuration);
sshUtil.upLoad("D://meta.log","/home/cafintech/");
sshUtil.close();
System.out.println("文件上传完成");
}catch(Exception e){
e.printStackTrace();
}
}
}
白话Learning
- 粉丝: 4734
- 资源: 3104
最新资源
- 基于PHP的FeelDesk工单管理系统开源版设计源码
- 基于Antv-X6的组态编辑器与可视化设计源码
- factoryio2.5工厂流水线仿真程序,期末专周可用,多个场景可以咨询 使用简单的梯形图与SCL语言编写,通俗易懂,起到抛砖引玉的作用,比较适合有动手能力的入门初学者 软件环境: 1、西门子编程
- 基于公有云平台的OpenIoT项目设计源码
- 基于微信小程序文件系统的MxLocalBase本地数据库设计源码
- 基于C语言的2023级寒假实践打地鼠游戏设计源码
- 基于matlab的孔入式静压轴承程序,进油孔数为4个,采用有限差分计算轴承油膜厚度及油膜压力 程序已调通,可直接运行
- 控制电机-感应电动机转差型矢量控制伺服模型系统 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 控制电机-正弦波永磁同步电动机矢量控制系统仿真 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真 速度外环基于模型预测控制、电流内环基于无差拿控制搭建,控制效果理想,模块程序设计通俗易通
- 基于Laravel的简化Smarty模板引擎设计源码
- NSGA2遗传算法多目标优化 三维视图 寻优多个函数(函数类型见图二类型),出图为三维红色为帕列托(图一), 带最终结果图(图三)
- 基于graqhql/mongodb/nodejs/nuxtjs的Vue跨世代实时在线文档编辑系统设计源码
- 基于Java的用户线程模型设计源码
- 基于Rust Axum框架的Web后端项目设计与源码实践
- 基于HTML、CSS和JavaScript的eui后台UI框架设计源码预览版账号密码提供
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈