0
我正在嘗試ssh一個裝置通過java代碼和我遇到的錯誤。我正在使用 (http://www.jcraft.com/)的罐子。現在這裏是我的問題通過Java的ssh裝置,執行命令並獲得命令響應
- 如何使用java在chell中執行多個命令? (jcreft lib或一些其它)
如何從下面的代碼(OutputStream的轉換)
OutputStream out = System.out; PrintStream ps = new PrintStream(out);
得到的輸出這裏是代碼的快照
public static String LoginAppliance(String host, String ID)throws JSchException, InterruptedException, IOException { String result=""; String command = "_shell\n"; JSch jsch = new JSch(); Session session = jsch.getSession(user, host, 22); session.setPassword(password); session.setConfig("StrictHostKeyChecking", "no"); session.connect(10*1000); Channel channel = session.openChannel("shell"); InputStream is = new ByteArrayInputStream(command.getBytes()); channel.setInputStream(is); channel.setOutputStream(System.out); OutputStream out = System.out; PrintStream ps = new PrintStream(out); channel.connect(15 * 1000); Thread.sleep(3*1000); channel.disconnect(); session.disconnect(); return (result); }
它會替我真的很有幫助。
感謝您的回答。我想通過按鈕(通過GUI)多個命令。不在一個字符串中。例如,我有多個按鈕,Button1用於連接,Button2用於複製數據,Button3用於一些信息。所以每個按鈕都有自己的功能。而2解決方案不適合我。 –
2.部分是從輸出流創建字符串的標準代碼。我不知道爲什麼它不應該工作。我還添加了一個新的答案。 –