日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何用java程序(JSch)運行遠程linux主機上的shell腳本

瀏覽:116日期:2022-08-27 13:12:30

運行遠程主機上的shell腳本

下面的例子是教給大家如何通過java程序,運行遠程主機上的shell腳本。(我講的不是一個黑客學習教程,而是使用用戶名密碼去執行有用戶認證資格的主機上的shell腳本)。并且通過java程序獲得shell腳本的輸出。首先通過maven坐標引入JSch依賴庫,我們正是通過JSch去執行遠程主機上的腳本。

<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version></dependency>

當然以下java代碼可執行的的前提是,遠程主機已經開通SSH服務(也就是我們平時登錄主機所使用的服務)。

遠程shell腳本

下面的代碼放入一個文件:hello.sh,腳本的內容很簡單只是用來測試,回顯輸出“hello <參數1> ”

#! /bin/shecho 'hello $1n';

然后我把它放到遠程主機的/root目錄下面,遠程主機的IP是1.1.1.1(當然我真實測試時候不是這個IP,我不能把我的真實IP寫到這個文章里面,以免被攻擊)。并且在遠程主機上,為這個腳本設置可執行權限,方法如下:

$ chmod +x hello.sh

本地java程序

我們可以使用下面的代碼,去遠程的linux 主機執行shell腳本,詳細功能請看代碼注釋

import com.jcraft.jsch.*;import java.io.IOException;import java.io.InputStream;public class RunRemoteScript { //遠程主機IP private static final String REMOTE_HOST = '1.1.1.1'; //遠程主機用戶名 private static final String USERNAME = ''; //遠程主機密碼 private static final String PASSWORD = ''; //SSH服務端口 private static final int REMOTE_PORT = 22; //會話超時時間 private static final int SESSION_TIMEOUT = 10000; //管道流超時時間(執行腳本超時時間) private static final int CHANNEL_TIMEOUT = 5000; public static void main(String[] args) { //腳本名稱及路徑,與上文要對上 String remoteShellScript = '/root/hello.sh'; Session jschSession = null; try { JSch jsch = new JSch(); //SSH授信客戶端文件位置,一般是用戶主目錄下的.ssh/known_hosts jsch.setKnownHosts('/home/zimug/.ssh/known_hosts'); jschSession = jsch.getSession(USERNAME, REMOTE_HOST, REMOTE_PORT); // 密碼認證 jschSession.setPassword(PASSWORD); // 建立session jschSession.connect(SESSION_TIMEOUT); //建立可執行管道 ChannelExec channelExec = (ChannelExec) jschSession.openChannel('exec'); // 執行腳本命令'sh /root/hello.sh zimug' channelExec.setCommand('sh ' + remoteShellScript + ' zimug'); // 獲取執行腳本可能出現的錯誤日志 channelExec.setErrStream(System.err); //腳本執行結果輸出,對于程序來說是輸入流 InputStream in = channelExec.getInputStream(); // 5 秒執行管道超時 channelExec.connect(CHANNEL_TIMEOUT); // 從遠程主機讀取輸入流,獲得腳本執行結果 byte[] tmp = new byte[1024]; while (true) {while (in.available() > 0) { int i = in.read(tmp, 0, 1024); if (i < 0) break; //執行結果打印到程序控制臺 System.out.print(new String(tmp, 0, i));}if (channelExec.isClosed()) { if (in.available() > 0) continue; //獲取退出狀態,狀態0表示腳本被正確執行 System.out.println('exit-status: ' + channelExec.getExitStatus()); break;}try { Thread.sleep(1000);} catch (Exception ee) {} } channelExec.disconnect(); } catch (JSchException | IOException e) { e.printStackTrace(); } finally { if (jschSession != null) {jschSession.disconnect(); } } }}

最終在本地控制臺,獲得遠程主機上shell腳本的執行結果。如下

hello zimugexit-status: 0

當然,我只是為大家演示這樣一個例子,上面的代碼可以通過更好的封裝,從而提供更簡單的使用方式。

以上就是如何用java程序(JSch)運行遠程linux主機上的shell腳本的詳細內容,更多關于JAVA運行Linux的shell腳本的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲激情社区| 视频一区中文字幕精品| 国产欧美另类| 国产乱人伦精品一区| 欧美激情五月| 国产综合色区在线观看| 久久精品卡一| 蜜臀a∨国产成人精品| 亚洲久久一区| 日韩一区二区三区免费视频| 日本不卡视频在线| 麻豆精品在线观看| 日韩成人免费| 亚洲免费高清| 国产欧美亚洲一区| 欧美私人啪啪vps| sm久久捆绑调教精品一区| 136国产福利精品导航网址| 久久xxxx精品视频| 国产精品色婷婷在线观看| 超碰在线99| 免费日韩一区二区| 久久一区精品| 亚洲一区二区网站| 成人在线视频区| 99在线|亚洲一区二区| 国产精品视频一区二区三区四蜜臂 | 美女精品在线| 国产精品久久久久久av公交车| 国产66精品| 中文字幕日韩欧美精品高清在线| 久久丁香四色| 中文一区一区三区免费在线观| 美女视频网站久久| 亚洲一二av| 一本大道色婷婷在线| 日韩精品免费观看视频| 99国产精品免费视频观看| 国产探花在线精品| 另类av一区二区| 欧美肉体xxxx裸体137大胆| 久久久精品区| 国产精品白丝av嫩草影院| 男女激情视频一区| 免费国产自线拍一欧美视频| 在线视频观看日韩| 色一区二区三区| 国内一区二区三区| 国产欧美日韩一级| 日韩高清一区| 美女被久久久| 石原莉奈在线亚洲二区| 99视频一区| 石原莉奈一区二区三区在线观看| 久久中文字幕av一区二区不卡| 精品亚洲成人| 国产精品99视频| 国产成人精选| 亚洲成人国产| 午夜精品亚洲| 男人的天堂久久精品| 亚洲精品福利| 久久xxx视频| 久久电影tv| 欧美日韩精品免费观看视频完整| 日韩欧美午夜| 亚洲欧美日韩高清在线| 综合在线一区| 久久精品九色| 亚洲福利久久| 日韩精品欧美精品| 国语精品一区| 极品日韩av| 日韩在线麻豆| 欧美国产美女| 国产一区二区高清| 国产日韩一区| 精品成人免费一区二区在线播放| 免费观看不卡av| 91精品国产自产观看在线| 久久精品 人人爱| 日韩中文影院| 欧美日本三区| 国户精品久久久久久久久久久不卡| 免费日本视频一区| 国产成人久久| 人人精品人人爱| 中文字幕高清在线播放| 亚洲一区免费| 久久永久免费| 亚洲综合福利| 久久夜夜操妹子| 国产精品自在| 亚洲色图网站| 久久久久国产精品一区三寸| 中文字幕成人| 亚洲精品一级二级| 国产精品2023| 天堂久久一区| 在线综合亚洲| 99久精品视频在线观看视频| 免费亚洲婷婷| 国产三级精品三级在线观看国产| 婷婷激情图片久久| 欧美日韩免费观看视频| 国产一区国产二区国产三区| 日韩不卡免费视频| 免费成人性网站| 91超碰国产精品| 久久婷婷一区| 福利一区视频| 老色鬼精品视频在线观看播放| 日韩欧美激情| 视频一区二区三区中文字幕| 亚洲女同中文字幕| 好看的av在线不卡观看| 999国产精品| 神马午夜久久| 亚洲精品88| 在线看片国产福利你懂的| 卡一卡二国产精品| 精品中文字幕一区二区三区| 国产欧美日韩精品高清二区综合区 | 久久青草久久| 中文字幕成在线观看| 国产一区丝袜| 精品中文字幕一区二区三区四区| 老司机免费视频一区二区三区| 国产欧美亚洲一区| 精品国产欧美日韩一区二区三区| 麻豆精品在线观看| 国产成人调教视频在线观看| 久久精品国产免费| 国内不卡的一区二区三区中文字幕| 欧美视频精品全部免费观看| 麻豆精品少妇| 久久久久久黄| 亚洲人成网77777色在线播放| 日韩1区2区3区| 精品视频高潮| 亚洲精品电影| 国产剧情一区| 91精品啪在线观看国产18| 蜜桃视频在线观看一区| 日韩av黄色在线| 国产一区二区三区免费在线| 群体交乱之放荡娇妻一区二区| 一区在线免费| 日本午夜精品久久久久| 久久福利在线| 久久影院一区| 久久99蜜桃| 亚洲成人免费| 国产精品99久久免费观看| 亚洲欧洲一区| 狠狠久久伊人| 日韩国产在线不卡视频| 日韩在线综合| 久久国际精品| 国产亚洲一级| 欧洲一级精品| 欧美精品99| 丝袜诱惑制服诱惑色一区在线观看| 美腿丝袜亚洲一区| 免播放器亚洲| 成人日韩在线观看| 国产亚洲一区二区三区不卡| 久久中文字幕av一区二区不卡| 国产乱码精品一区二区三区亚洲人| 亚洲日本网址| 成人在线免费观看网站| 国产午夜一区| 日本欧美大码aⅴ在线播放| 国产伊人精品| 日韩毛片在线| 亚洲综合电影| 精品99久久| 久久一区精品| 加勒比视频一区| 麻豆91精品视频| 国产亚洲字幕| 国产午夜久久av| 国产一卡不卡| 日韩av一区二| 欧美日本久久| 国产精品大片免费观看| 日韩国产在线不卡视频| 亚洲影院天堂中文av色| 久久国产精品亚洲77777| 亚洲一级在线| 日本中文字幕不卡| 欧美永久精品| 麻豆视频观看网址久久| 精品视频在线观看网站| 免费看一区二区三区| 九九久久国产| 亚洲电影有码| 91精品成人| 7777精品| 国产精品麻豆久久|