java访问liunx服务器

package com.lx.ssmall.utils;


import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;


import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.SCPClient;
import ch.ethz.ssh2.SFTPv3Client;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;


/**
 * SCPClient连接liunx并进行增删改查
 * 注意除去文件下载其他操作都需要liunx文件操作,切记别误删其他文件特别是etc文件
 * @author LuoXu
 *
 */
public class SCPUtil {
//liunx Ip
private static String hostname = "xx.xx.xx.xx";
//默认端口
private static int port = 22;
//登录名
private static String user = "******";
//密码
private static String password = "******";

public static void getLiunxService(){
Map map = new HashMap();
//建立连接
Connection con = new Connection(hostname);
try {
//连接
con.connect();
//连接账号密码
boolean b = con.authenticateWithPassword(user, password);
if(b){
File file = new File("本机下载地址");
    if(!file.exists()){
    //如果没有就创建文件
    file.mkdir();
    }
//建立SCP客户端
SCPClient scp = con.createSCPClient();
//下载
scp.get("liunx服务器上下载的文件地址", file.getPath());
//上传(注意该用户必须拥有liunx文件的操作权限否则不行)
scp.put("localFile", "remoteTargetDirectory");
//远程新建文件
SFTPv3Client sft = new SFTPv3Client(con);
//创建文件一般在linux下面的/home/"user(用户名)"/下面
sft.createFile("newRemoteFile");
//文件移动
sft.mv("oldPath", "newPath");
//文件删除
sft.rm("fileName");
//建立会话
Session session = null;
session = con.openSession();
session.execCommand("ls liunx某个文件夹地址");
//利用会话可以操作远程服务器
//显示执行命令后的信息
InputStream stdout = new StreamGobbler(session.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
String line = br.readLine();
if (line == null) {
break;
    }
//此为遍历文件,文件夹的目录
    System.out.println(line);
}
//获得推出状态
System.out.println("ExitCode: " + session.getExitStatus());
session.close();
}else{
System.out.println("连接失败");
}
} catch (IOException e) {
e.printStackTrace();
}finally{
con.close();
}
}

public static void main(String [] args){
getLiunxService();
}
}

你可能感兴趣的:(java,java访问linux服务器)