Java Code Examples for ch.ethz.ssh2.Connection#openSession()
The following examples show how to use
ch.ethz.ssh2.Connection#openSession() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SshUtil.java From dk-fitting with Apache License 2.0 | 6 votes |
public static String exe(String cmd, String hostIp, String hostName, String hostPassword) throws Exception { Connection conn = createConn(hostIp, hostName, hostPassword); Session sess = conn.openSession(); sess.requestPTY("vt100", 80, 24, 640, 480, null); sess.execCommand(cmd); InputStream stdout = new StreamGobbler(sess.getStdout()); StringBuilder sb = new StringBuilder(); BufferedReader stdoutReader = new BufferedReader( new InputStreamReader(stdout)); System.out.println("Here is the output from stdout:"); while (true) { String line = stdoutReader.readLine(); if (line == null) break; System.out.println(line); sb.append(line + "\n"); } // System.out.println("ExitCode: " + sess.getExitStatus()); // System.out.println("sb.toString() = " + sb.toString()); sess.close(); conn.close(); return sb.toString(); }
Example 2
Source File: SSH2Util.java From redis-manager with Apache License 2.0 | 6 votes |
/** * 执行Shell脚本或命令 * * @param machine * @param commands * @return */ public static String execute(Machine machine, String commands) throws Exception { String result; Connection connection = null; try { connection = getConnection(machine); // 打开一个会话 Session session = connection.openSession(); session.execCommand(commands); InputStream in = session.getStdout(); result = processStandardOutput(in); InputStream errorIn = session.getStderr(); result += processStandardOutput(errorIn); } finally { close(connection); } return result; }
Example 3
Source File: SshUtil.java From dk-fitting with Apache License 2.0 | 5 votes |
public static String getHomePath(String cmd, String hostIp, String hostName, String hostPassword, String hadoopName) throws Exception { Connection conn = createConn(hostIp, hostName, hostPassword); Session sess = conn.openSession(); sess.requestPTY("vt100", 80, 24, 640, 480, null); sess.execCommand(cmd); InputStream stdout = new StreamGobbler(sess.getStdout()); StringBuilder sb = new StringBuilder(); BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout)); // System.out.println("Here is the output from stdout:"); String hadoopNamePath = ""; while (true) { String line = stdoutReader.readLine(); // System.out.println( trim); if (line != null && line.trim().startsWith("export " + hadoopName)) { String substring = line.substring(line.lastIndexOf("=") + 1); hadoopNamePath = substring; } if (line == null) break; } //System.out.println("ExitCode: " + sess.getExitStatus()); // System.out.println("sb.toString() = " + sb.toString()); sess.close(); conn.close(); return hadoopNamePath; }
Example 4
Source File: Tools.java From fastdfs-zyc with GNU General Public License v2.0 | 5 votes |
public static List<String> exeRemoteConsole(String hostname, String username, String password, String cmd) { List<String> result = new ArrayList<String>(); //指明连接主机的IP地址 Connection conn = new Connection(hostname); Session ssh = null; try { //连接到主机 conn.connect(); //使用用户名和密码校验 boolean isconn = conn.authenticateWithPassword(username, password); if (!isconn) { logger.error("用户名称或者是密码不正确"); } else { logger.info("已经连接OK"); ssh = conn.openSession(); //使用多个命令用分号隔开 // ssh.execCommand("pwd;cd /tmp;mkdir shb;ls;ps -ef|grep weblogic"); ssh.execCommand(cmd); //只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常 // ssh.execCommand("mkdir hb"); //将屏幕上的文字全部打印出来 InputStream is = new StreamGobbler(ssh.getStdout()); BufferedReader brs = new BufferedReader(new InputStreamReader(is)); for (String line = brs.readLine(); line != null; line = brs.readLine()) { result.add(line); } } //连接的Session和Connection对象都需要关闭 if (ssh != null) { ssh.close(); } conn.close(); } catch (IOException e) { logger.error("", e); } return result; }
Example 5
Source File: PivotalSshRsa.java From pxf with Apache License 2.0 | 4 votes |
@Override public void connect() throws IOException { boolean isAuthenticated = false; /* Create a connection instance */ System.out.println("Connet to Host with SSH and RSA private key"); conn = new Connection(hostname); /* Now connect */ conn.connect(); // Check what connection options are available to us String[] authMethods = conn.getRemainingAuthMethods(username); System.out.println("The supported auth Methods are:"); for (String method : authMethods) { System.out.println(method); } /* Authenticate */ if (password != null && !password.equals("")) { super.connect(); } else { // user not supplied password try { if (privateKeyFile != null && privateKeyFile.isFile()) { System.out.println("Connecting using Private Key"); // connect using private key isAuthenticated = conn.authenticateWithPublicKey(username, privateKeyFile, ""); } else { System.out.println("Auth Error - The privateKeyFile should be init from the SUT with a valid path to ppk/pem RSA private key"); } } catch (Exception e) { System.out.println(e.getMessage()); isAuthenticated = false; } } if (sourcePort > -1 && destinationPort > -1) { lpf = conn.createLocalPortForwarder(sourcePort, "localhost", destinationPort); } /* Create a session */ sess = conn.openSession(); if (xtermTerminal) { sess.requestPTY("xterm", 80, 24, 640, 480, null); } else { sess.requestPTY("dumb", 200, 50, 0, 0, null); } sess.startShell(); in = sess.getStdout(); out = sess.getStdin(); }
Example 6
Source File: MysqlUtil.java From newblog with Apache License 2.0 | 4 votes |
/** * export database; */ public void exportDataBase() { logger.info("start backup database"); String username = Config.getProperty("jdbc.username_dev"); String password = Config.getProperty("jdbc.password_dev"); String database = Config.getProperty("jdbc.database"); String host = Config.getProperty("jdbc.host_dev"); String os = System.getProperty("os.name"); String file_path = null; // if (os.toLowerCase().startsWith("win")) { //根据系统类型 // file_path = System.getProperty("user.dir") + "\\sql\\"; // } else { // file_path = System.getProperty("user.dir") + "/sql/";//保存的路径 // } file_path = System.getProperty("myblog.path") + "sql"; String file_name = "/myblog" + DateTime.now().toString("yyyyMMddHHmmss") + ".sql"; String file = file_path + file_name; logger.info("file_path and file_name: " + file); //server String s_host = Config.getProperty("server.host"); Integer s_port = Config.getIntProperty("server.port"); String s_username = Config.getProperty("server.username"); String s_password = Config.getProperty("server.password"); try { StringBuffer sb = new StringBuffer(); sb.append(Common.MYSQL_DUMP).append(" -u ").append(username).append(" -p").append(password).append(" -h ").append(host).append(" ").append(database).append(" >").append(file); String sql = sb.toString(); logger.info(sql); //connect to server Connection connection = new Connection(s_host, s_port); connection.connect(); boolean isAuth = connection.authenticateWithPassword(s_username, s_password); if (!isAuth) { logger.error("server login error"); } Session session = connection.openSession(); session.execCommand(sql); 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); } session.close(); connection.close(); stdout.close(); br.close(); logger.info("backup finish"); logger.info(sb.toString()); } catch (Exception e) { logger.error("error", e); } }
Example 7
Source File: CtrCommond.java From myrover with Apache License 2.0 | 4 votes |
/** * 远程执行命令 * @param ip * @param user * @param pwd * @param cmd * @return */ public static String doCommond(Connection conn,String cmd){ String result = ""; try { if(conn==null){ System.out.println("请先链接服务器"); }else{ Session sess = conn.openSession(); sess.execCommand(cmd); InputStream stdout = new StreamGobbler(sess.getStdout()); BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout)); while(true){ String line = stdoutReader.readLine(); if (line == null) break; result+=line+StaticKeys.SPLIT_BR; } //连接的Session和Connection对象都需要关闭 stdoutReader.close(); sess.close(); } } catch (IOException e) { System.out.println("执行linux命令错误:"+e.toString()); } if(result.endsWith(StaticKeys.SPLIT_BR)){ result = result.substring(0, result.length()-StaticKeys.SPLIT_BR.length()); } if(!StringUtils.isEmpty(result)){ if(cmd.contains("DEV")||cmd.contains("iostat")){ if(result.contains("</br></br>")){ result = result.substring(result.lastIndexOf("</br></br>")+10); } } if(cmd.contains("mpstat")){ if(result.contains("</br></br>")){ result = result.substring(result.lastIndexOf("</br></br>")+10); int s = result.indexOf("</br>")+5; s = result.indexOf("</br>",s); result = result.substring(0,s); } } } return result; }