/**
*实现服务器连接
* @param host
* @param port
* @param username
* @param password
* @param privateKeyFile
* @return
* @throws IOException
*/
public static Connection getSSHConnection(String host,int port,String username,String password,String privateKeyFile) throws IOException {
Connection connection=new Connection(host,port);
connection.connect();
File file=new File(privateKeyFile);
System.out.println(file);
boolean b=connection.authenticateWithPublicKey(username,file,password);
System.out.println(b);
if (b){
return connection;
}else {
System.out.println("登录连接失败,请检查用户名、密码、私钥文件");
return null;
}
}
/**
*实现下载服务器上的文件到本地指定目录
* @param conn SSH连接信息
* @param fileName 服务器上的文件地址/opt/rpc/log/order/all.log
* @param localPath 本地路径:D:
* @throws IOException
*/
public void getFile(Connection conn, String fileName,String localPath) throws IOException{
SCPClient scpClient=conn.createSCPClient();
//String logPath="cd /opt/rpc/log/order";
//Session session = conn.openSession();
//session.execCommand(logPath);//执行shell命令
scpClient.get(fileName,localPath);
}
/**
*实现上传本地文件到服务器上指定目录
* @param conn SSH连接信息
* @param fileName D:a.txt
* @param localPath 服务器地址路径:/opt/rpc/log/order
* @throws IOException
*/
public void putFile(Connection conn, String fileName,String localPath) throws IOException{
SCPClient scpClient=conn.createSCPClient();
scpClient.put(fileName,localPath);
}