2016-04-11 6 views
-1

Plinkに新しく、Plinkを使用してputtyから保存されたセッションをロードしようとしています。私のセッションは"saved session1"とロードされて実行され、 PuTTY私は最初に"のようにログインしてください:、次に"パスワード: "です。私の"saved session1" "username1"とパスワード"password1"が与えられました。私は、コードを持っていますが、コマンドをフォーマットする方法がわからないよ、パテとのPlinkは私のJavaコードと同じディレクトリにあると仮定すると、すべての与えられたJava PuTTY open saved session

Java and putty - send commands [duplicate]

で、前のStackOverflowのポストに私のコードを基づかていますサーバーに関する情報、セッションとログインの詳細、サーバーにログインしてホームディレクトリの内容を印刷するために、r.exe();コマンドを使用するにはどうすればよいですか?

import java.io.*; 
import java.net.*; 

public class javaputty{ 
    public static void main(String[] args){ 

     InputStream std; 
     OutputStream out; 
     InputStream err; 

     try { 
      String command = "plink -load saved session1"; 
      String username = "username1"; 
      String password = "password1"; 

      Runtime r = Runtime.getRuntime(); 
      Process p = r.exec (command); 

      std = p.getInputStream(); 
      out = p.getOutputStream(); 
      err = p.getErrorStream(); 

      out.write ("ls -l\n".getBytes()); 
      out.flush(); 

      Thread.sleep (10000); 

      int value = 0; 
      if (std.available() > 0) { 
       System.out.println ("STD:"); 
       value = std.read(); 
       System.out.print ((char) value); 

       while (std.available() > 0) { 
        value = std.read(); 
        System.out.print ((char) value); 
       } 
      } 

      if (err.available() > 0) { 
       System.out.println ("ERR:"); 
       value = err.read(); 
       System.out.print ((char) value); 

       while (err.available() > 0) { 
        value = err.read(); 
        System.out.print ((char) value); 
       } 
      } 

      p.destroy(); 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

答えて

1

保存されたセッション名はスペースが含まれている場合、あなたは(あなたがより良い、常にそれを行う)、二重引用符に名前を囲む必要があります:

String command = "plink -load \"saved session1\""; 

方が良いネイティブを使用していますがPuTTY/Plinkを自動化しようとするのではなく、Java SSHライブラリ(例:JSch)。

Sending commands to remote server through ssh by Java with JSchを参照してください。

+0

ありがとう、それは私のサーバーにログオンできるようになりました – user3545370