자바 응용 프로그램 은 Liux 에 원 격 으로 로그 인하 여 명령 을 수행 합 니 다.

2371 단어 linux
http://www.ganymed.ethz.ch/ssh2/
이 사이트 에서 ssh 와 scp 명령 을 호출 하 는 jar 패 키 지 를 다운로드 합 니 다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

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

public class SSH

{

	public static void main(String[] args)

	{

		String hostname = "222.177.211.9";

		String username = "boss";

		String password = "qwer@1234";

		try

		{

			/* Create a connection instance */

			Connection conn = new Connection(hostname);

			/* Now connect */

			conn.connect();

			/* Authenticate */

			boolean isAuthenticated = conn.authenticateWithPassword(username,
			        password);

			if(isAuthenticated == false)

				throw new IOException("Authentication failed.");

			/* Create a session */

			Session sess = conn.openSession();

			// sess.execCommand("uname -a && date && uptime && who");

			sess.execCommand("ps aux ");

			System.out
			        .println("Here is some information about the remote host:");

			InputStream stdout = new StreamGobbler(sess.getStdout());

			BufferedReader br = new BufferedReader(
			        new InputStreamReader(stdout));

			while(true)

			{

				String line = br.readLine();

				if(line == null)

					break;

				System.out.println(line);

			}

			/* Show exit status, if available (otherwise "null") */

			System.out.println("ExitCode: " + sess.getExitStatus());

			/* Close this session */

			sess.close();

			/* Close the connection */

			conn.close();

		}

		catch(IOException e)

		{

			e.printStackTrace(System.err);
			System.exit(2);

		}

	}

}

좋은 웹페이지 즐겨찾기