欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

服務(wù)器實現(xiàn)Java遠(yuǎn)程訪問Linux服務(wù)器方式(JSch)

 更新時間:2024年11月30日 09:03:14   作者:inexaustible  
文章介紹了如何使用Java遠(yuǎn)程訪問Linux服務(wù)器,主要包括建立SSH連接、使用JSch庫執(zhí)行命令、解析返回值以及關(guān)閉連接的步驟

服務(wù)器實現(xiàn)Java遠(yuǎn)程訪問Linux服務(wù)器

要實現(xiàn) Java 遠(yuǎn)程訪問 Linux 服務(wù)器,首先要建立 SSH 連接。

SSH(Secure Shell)是一種強(qiáng)大的網(wǎng)絡(luò)安全技術(shù),可以在受信任的兩臺主機(jī)之間創(chuàng)建一條加密的連接,以保護(hù)數(shù)據(jù)進(jìn)行傳輸。

一般來說,SSH服務(wù)器使用22端口,只要將服務(wù)器的 IP 地址及端口填入 SSH 客戶端實現(xiàn)連接,就可以得到連接權(quán)限。

JSch是SSH2的純Java實現(xiàn) 。

通過使用 jsch 開源庫處理 SSH 連接,session 對象來發(fā)送指令并且解析返回值,以及最終關(guān)閉連接,可以實現(xiàn) Java 程序和遠(yuǎn)程服務(wù)器之間的交互。

建立 SSH 連接之后,我們可以使用 Java 語言的相關(guān)的 API 來控制遠(yuǎn)程的 Linux 服務(wù)器,

具體的步驟如下:

1.使用jsch開源庫負(fù)責(zé)SSH連接

來執(zhí)行連接服務(wù)器:

// 創(chuàng)建 Jsch 實例
JSch jsch = new JSch();

// 指定服務(wù)器IP地址
String host = “172.16.3.15”;

// 設(shè)置SSH服務(wù)器端口,默認(rèn)端口為22
int port = 22;

// 建立連接
Session session = jsch.getSession(user,host, port);

// 有密碼設(shè)置密碼無密碼無需配置
session.setPassword("123");

// 解決用戶不能遠(yuǎn)程登錄
// session.setConfig("userauth.gssapi-with-mic", "no");
// 設(shè)置第一次登陸的時候提示,可選值:(ask | yes | no) 
// session.setConfig("StrictHostKeyChecking", "no");

2.使用session對象來發(fā)送指令至服務(wù)器

// 打開連接
session.connect();

// 10秒連接超時
// session.connect(10 * 1000);

// 執(zhí)行指令
String command = “l(fā)s -lha”;
Channel channel =session.openChannel(“exec”);

// 設(shè)置指令
((ChannelExec) channel).setCommand(command);

// 接收數(shù)據(jù)
InputStream in = channel.getInputStream();

// 執(zhí)行
channel.connect();

3.解析返回值

// 申明緩存區(qū)
byte[] tmp = new byte[1024];

// 將返回的數(shù)據(jù)放入緩存中
while(true){
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i
}
}

最后,關(guān)閉連接:

// 關(guān)閉連接
session.disconnect();
channel.disconnect();

或者執(zhí)行Linux命令

String shell = "cd /home/test/check_tran/output && sudo rm -rf 19321 "; 
List<String> list = session.immediateShell2(shell); 
System.out.println(list.toString());
session.disconnect();

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot中使用自定義兩級緩存的方法

    springboot中使用自定義兩級緩存的方法

    這篇文章主要介紹了springboot中使用自定義兩級緩存的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 注解@TableName,@TableField,pgsql的模式對應(yīng)方式

    注解@TableName,@TableField,pgsql的模式對應(yīng)方式

    這篇文章主要介紹了注解@TableName,@TableField,pgsql的模式對應(yīng)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 使用jxls自定義命令設(shè)置動態(tài)行高

    使用jxls自定義命令設(shè)置動態(tài)行高

    這篇文章主要介紹了使用jxls自定義命令設(shè)置動態(tài)行高,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 細(xì)數(shù)java for循環(huán)中的那些坑

    細(xì)數(shù)java for循環(huán)中的那些坑

    這篇文章主要介紹了Java for循環(huán)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • MyBatis實現(xiàn)多表聯(lián)查的詳細(xì)代碼

    MyBatis實現(xiàn)多表聯(lián)查的詳細(xì)代碼

    這篇文章主要介紹了MyBatis如何實現(xiàn)多表聯(lián)查,通過實例代碼給大家介紹使用映射配置文件實現(xiàn)多表聯(lián)查,使用注解的方式實現(xiàn)多表聯(lián)查,需要的朋友可以參考下
    2022-08-08
  • Java幾個實例帶你進(jìn)階升華下篇

    Java幾個實例帶你進(jìn)階升華下篇

    與其明天開始,不如現(xiàn)在行動,本文為你帶來幾個Java書寫的實際案例,對鞏固編程的基礎(chǔ)能力很有幫助,快來一起往下看看吧
    2022-03-03
  • Kibana的安裝和配置全過程

    Kibana的安裝和配置全過程

    Kibana是一個開源的數(shù)據(jù)分析和可視化平臺,它與Elasticsearch緊密集成,提供了一個直觀的Web界面,使您可以快速地搜索、分析和可視化數(shù)據(jù),在本文中,我們將介紹如何安裝和配置Kibana
    2024-12-12
  • 詳解IDEA中類加載器調(diào)用getResourceAsStream()方法需注意的問題

    詳解IDEA中類加載器調(diào)用getResourceAsStream()方法需注意的問題

    這篇文章主要介紹了詳解IDEA中類加載器調(diào)用getResourceAsStream()方法需注意的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Spring Boot項目中定制PropertyEditors方法

    Spring Boot項目中定制PropertyEditors方法

    在本篇文章里小編給大家分享的是一篇關(guān)于Spring Boot定制PropertyEditors的知識點(diǎn)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2019-11-11
  • SpringMVC通過注解獲得參數(shù)的實例

    SpringMVC通過注解獲得參數(shù)的實例

    下面小編就為大家?guī)硪黄猄pringMVC通過注解獲得參數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論