小编Nez*_*zit的帖子

通过JSch shell通道向服务器发送命令

我无法弄清楚如何通过JSch shell通道发送命令.

我这样做,但它不起作用:

JSch shell = new JSch();
String command = "cd home/s/src";  
Session session = shell.getSession(username, host, port);  
MyUserInfo ui = new MyUserInfo();  
ui.setPassword(password);  
session.setUserInfo(ui);  
session.connect();  

channel = session.openChannel("shell");  
fromServer = new BufferedReader(new InputStreamReader(channel.getInputStream()));  
toServer = channel.getOutputStream();
channel.connect();  
toServer.write((command + "\r\n").getBytes());
toServer.flush();
Run Code Online (Sandbox Code Playgroud)

然后我读取这样的输入:

StringBuilder builder = new StringBuilder();  

int count = 0;  
String line = "";  

while(line != null) {  
    line = fromServer.readLine();
    builder.append(line).append("\n");

    if (line.endsWith(".") || line.endsWith(">")){
        break;
    }
}  
String result = builder.toString();  
ConsoleOut.println(result);
Run Code Online (Sandbox Code Playgroud)

java ssh jsch

25
推荐指数
2
解决办法
7万
查看次数

标签 统计

java ×1

jsch ×1

ssh ×1