java远程执行linux命令
来源:互联网 发布:智云软件 编辑:程序博客网 时间:2024/05/18 05:07
使用ganymed-ssh2去调用执行远程linux的命令,在maven上查找,发现使用最多的包是ganymed-ssh2-build210.jar、所以就下载了它
private static final String hostname = "115.182.62.225";//linux ip地址private static final String username = "root";//linux用户名private static final String password = "j\\^PR$&ZslxCqhif";//linux密码private static Connection conn;private static Session ssh = null;/** * 判断是否可以连接主机、账户密码是否正确(默认配置的服务器) * @return */public static boolean hasConnection(){return hasConnection(hostname,username,password,false);}/** * 执行命令(默认配置的服务器) * @param cmd * @return */public static String excuteCMD(String cmd){return excuteCMD(hostname,username,password,cmd);}/** * 判断是否可以连接主机、账户密码是否正确 * @param hostname * @param username * @param password * @param flag 是否只是查询是否可连接服务器 * @return */public static boolean hasConnection(String hostname,String username,String password,boolean flag){boolean isconn = false;conn = new Connection(hostname);try {//连接到主机 conn.connect(); //使用用户名和密码校验 isconn = conn.authenticateWithPassword(username, password);} catch (IOException e) {e.printStackTrace();}if(flag){closeConnection();}return isconn;}/** * 执行命令 * @param hostname * @param username * @param password * @param cmd * @return */public static String excuteCMD(String hostname,String username,String password,String cmd){StringBuilder result = new StringBuilder();boolean isconn = hasConnection(hostname,username,password,false);if(!isconn){//连接失败result.append("连接服务器失败");}else{try {ssh = conn.openSession();//使用多个命令用分号隔开 ssh.execCommand(cmd); //只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常 //将屏幕上的文字全部打印出来 InputStream is = new StreamGobbler(ssh.getStdout()); BufferedReader brs = new BufferedReader(new InputStreamReader(is)); while(true){ String line = brs.readLine(); if(line==null){ break; } result.append(line+"\n"); }} catch (IOException e) {result.append("连接服务器失败");e.printStackTrace();}}return result.toString();}/** * 关闭连接的对象 */private static void closeConnection(){//连接的Session和Connection对象都需要关闭 ssh.close(); conn.close();}public static void main(String[] args) { System.out.println(excuteCMD("cd /home/;ls"));}
0 0
- java远程执行linux命令
- java远程执行linux命令
- java远程执行linux命令
- Java远程执行Linux命令
- java 远程执行linux命令
- Java程序执行远程linux命令
- Java 远程执行 Linux 的命令
- java远程调用ssh2执行Linux命令
- linux 执行远程命令
- Java远程连接Linux系统并执行Linux命令
- Windwos远程执行Linux命令
- linux 远程命令执行不
- linux shell 远程执行命令
- linux 远程登录执行命令
- Python远程执行Linux命令
- Linux shell 远程执行命令
- java应用程序远程登录linux并执行其命令
- java 使用jsch 远程链接linux执行命令
- 地狱少女....
- 2014年10月27日
- 2014年10月27日
- 2014年10月27日
- 【Python学习】源文件py编译为pyc文件
- java远程执行linux命令
- 2014年10月27日
- 百度知道
- java split
- MD5 加密
- 回头整理
- session
- 2014年10月29日
- 2014年10月29日