首页
登录 | 注册

Java - sshtools: read output from a command

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();
       }
     }
}

相关文章

  • 本文就众多MQTT-Server中的mosquitto的安装进行讲解. 一.下载. 对于Ubuntu系统,可以使用sudo apt-get 来安装mosquitto,但是这种方法虽然简单,但是对于配置文件的修改和管理比较麻烦,配置文件需要自 ...
  • Java 创建、填充PDF表单域
    表单域,可以按用途分为多种不同的类型,常见的有文本框.多行文本框.密码框.隐藏域.复选框.单选框和下拉选择框等,目的是用于采集用户的输入或选择的数据. 下面的示例中,将分享通过Java编程在PDF中添加以及填充表单域的方法.包括:文本框.复 ...
  • 如何将S/4HANA系统存储的图片文件用Java程序保存到本地
    REPORT zgos_api. DATA ls_appl_object TYPE gos_s_obj. DATA lo_gos_api TYPE REF TO cl_gos_api. DATA lt_attachment_list TYP ...
  • 在linux系统下如何使一个程序在后台一直执行呢?很多人使用&结尾的命令形式,但是如果没有守护进程的话,即使这样,在终端关闭时程序也会终止运行.这时候就得使用nohup命令了.   例如,如果在终端中执行Java -jar xxx. ...
  • 1.编译:打开高级--工具配置,在命令行下面输入javac %n%e,工作目录下输入%p ,在菜单项目名称下输入编译Java(可随意取名,只要自己喜欢),还有下面的checkbox中要选中save Active file,这样才在编译的时候 ...
  • 概述 IBM Toolbox for Java 是一个类的集合,用于开发与 IBM i 相关的 Java 应用程序.它包含的各类工具,提供了对于 IFS.IBM i 系统信息.客户端 / 服务器等各类应用场景的的支持,用户可以在其他平台诸如 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号