j2ssh

 通过Ssh协议连接到服务器执行执行的指令。echo $?这条命令将显示上条指令执行的状态。0为成功,其他都是失败。

 

 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4 import java.io.OutputStream;
 5 
 6 import com.sshtools.j2ssh.SshClient;
 7 import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
 8 import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
 9 import com.sshtools.j2ssh.session.SessionChannelClient;
10 
11 public class Main {
12 
13     public static void main(String[] args) {
14         SshClient ssh = new SshClient();
15         PasswordAuthenticationClient authentication = new PasswordAuthenticationClient();
16         authentication.setUsername("root");
17         authentication.setPassword("123");
18         try {
19             ssh.connect("192.168.94.254"22new HostsKeyVerification());
20             if (ssh.authenticate(authentication) == AuthenticationProtocolState.COMPLETE) {
21                 SessionChannelClient session = ssh.openSessionChannel();
22                 // session.setEnvironmentVariable("TERM", "linux");
23                 // if (client.requestPseudoTerminal("vt100", 120, 400, 0, 0,
24                 // "")) {
25                 if (session.startShell()) {
26                     OutputStream writer = session.getOutputStream();
27                     writer.write("echo $?\n".getBytes());
28                     writer.flush();
29                     writer.write("exit\n".getBytes());
30                     writer.flush();
31                     BufferedReader in = new BufferedReader(
32                             new InputStreamReader(session.getInputStream()));
33                     BufferedReader err = new BufferedReader(
34                             new InputStreamReader(session
35                                     .getStderrInputStream()));
36                     String line;
37                     while ((line = in.readLine()) != null) {
38                         System.out.println(line);
39                     }
40                     System.out.println("------------------------");
41                     while ((line = err.readLine()) != null) {
42                         System.out.println(line);
43                     }
44                     if (session != null) {
45                         session.close();
46                     }
47                 }
48                 // }
49             }
50         } catch (IOException e) {
51             e.printStackTrace();
52         } finally {
53         }
54 
55     }
56 
57 }
58 

 

 

posted @ 2010-01-11 16:46  echozhjun  阅读(1633)  评论(0编辑  收藏  举报