免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2572 | 回复: 0
打印 上一主题 下一主题

Java - sshtools: read output from a command [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-16 14:56 |只看该作者 |倒序浏览

Java - sshtools: read output from a command
package abc;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.configuration.ConfigurationLoader;
import com.sshtools.j2ssh.configuration.SshConnectionProperties;
import com.sshtools.j2ssh.connection.ChannelInputStream;
import com.sshtools.j2ssh.connection.ChannelOutputStream;
import com.sshtools.j2ssh.connection.ChannelState;
import com.sshtools.j2ssh.io.IOStreamConnector;
import com.sshtools.j2ssh.session.SessionChannelClient;
public class Aaa {
public static void main(String[] args)
{
     try {
         // JDK > 1.4 ONLY
         /*Handler fh = new FileHandler("example.log");
         fh.setFormatter(new SimpleFormatter());
         Logger.getLogger("com.sshtools").setUseParentHandlers(false);
         Logger.getLogger("com.sshtools").addHandler(fh);
         Logger.getLogger("com.sshtools").setLevel(Level.ALL);*/
         // Configure J2SSH (This will attempt to install the bouncycastle provider
         // under jdk 1.3.1)
         ConfigurationLoader.initialize(false);
         BufferedReader reader =
             new BufferedReader(new InputStreamReader(System.in));
         System.out.print("Connect to host? ");
         String hostname = reader.readLine();
         // Make a client connection
         SshClient ssh = new SshClient();
         ssh.setSocketTimeout(30000);
         SshConnectionProperties properties = new SshConnectionProperties();
         properties.setHost(hostname);
         properties.setPrefPublicKey("ssh-dss");
         // Connect to the host
         ssh.connect(properties);
         // Create a password authentication instance
         PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
         // Get the users name
         System.out.print("Username? ");
         // Read the password
         String username = reader.readLine();
         pwd.setUsername(username);
         // Get the password
         System.out.print("Password? ");
         String password = reader.readLine();
         pwd.setPassword(password);
         // Try the authentication
         int result = ssh.authenticate(pwd);
         // Evaluate the result
         if (result == AuthenticationProtocolState.COMPLETE) {
          SessionChannelClient session = ssh.openSessionChannel();
          InputStream in = session.getInputStream();
          session.executeCommand("/home/amnetdo/filetest /home/amnetdo/agc");
          BufferedReader br = new BufferedReader(new InputStreamReader(in));
          StringBuffer buffer = new StringBuffer();
          String line;
          while ((line = br.readLine()) != null) {
          buffer.append(line);
          }
          String out;
          out = buffer.toString();
          System.out.println(out);
         }
       }
       catch (Exception e) {
         e.printStackTrace();
       }
     }
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100713/showart_1998117.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP