人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

ssh應(yīng)用- linux服務(wù)器A登陸linux服務(wù)器B

發(fā)布日期:2018-05-03 20:27 | 文章來(lái)源:網(wǎng)絡(luò)

服務(wù)器命令

實(shí)際背景

在日常工作中,大家難免會(huì)遇到這樣一種情況,就是我需要先登陸一臺(tái)linux服務(wù)器A,然后從A登陸到另一臺(tái)linux服務(wù)器B.

這么設(shè)計(jì)的目的一般都是出于安全的考慮,將可以線下直接訪問(wèn)的服務(wù)器和提供服務(wù)的服務(wù)器隔離開(kāi),同時(shí)也能防范一些攻擊.但是這種設(shè)計(jì)對(duì)于正常使用也會(huì)帶來(lái)一些麻煩,因此期望某些設(shè)計(jì)能夠幫助我們更方便的使用.

ssh命令行直接登陸

假設(shè)我們命令終端可以訪問(wèn)到的機(jī)器是A,也就代表A是能夠被公司內(nèi)網(wǎng)訪問(wèn)到,我們的目標(biāo)服務(wù)器是B,那么我們可以在服務(wù)器A上提供一個(gè)web服務(wù),然后通過(guò)接口的方式直接訪問(wèn)B服務(wù)器的內(nèi)容,具體思路如下:

核心思路:

在服務(wù)器A上可以通過(guò)ssh命令直接登陸到服務(wù)器B上,那么就可以直接通過(guò)命令行的形式直接在B服務(wù)器執(zhí)行相應(yīng)命令.

在A服務(wù)器執(zhí)行如下命令:

sshB服務(wù)器名"具體命令"復(fù)制代碼

注意:具體命令是被包括在雙引號(hào)中,如果命令中還有單雙引號(hào)或者/等特殊符號(hào),一定要注意轉(zhuǎn)義

java代碼如下:

StringcmdArray=newString{"/bin/sh","-c",finalCmd};process=Runtime.getRuntime.exec;復(fù)制代碼

正常的返回可以通過(guò)process.getInputStream得到

異常信息的返回可以通過(guò)process.getErrorStream得到

優(yōu)點(diǎn)

你在A服務(wù)器ssh登陸B(tài)服務(wù)器后,能正常執(zhí)行的命令,按道理都可以通過(guò)這種方式用java代碼實(shí)現(xiàn),驗(yàn)證起來(lái)十分方便

開(kāi)發(fā)簡(jiǎn)單,輸入返回都可以由你的服務(wù)進(jìn)行一定程度的控制和處理

可以自動(dòng)加載目標(biāo)服務(wù)器上的環(huán)境變量.

缺點(diǎn)

部分命令可能需要跟終端有所交互,通過(guò)這種方式會(huì)導(dǎo)致無(wú)法正常返回,需要特別處理

每一次請(qǐng)求代表一個(gè)命令,代表新建一條ssh咨詢客服

利用jsch工具建立咨詢客服

核心思路沒(méi)有什么變化,只不過(guò)在建立連接和執(zhí)行命令的時(shí)候是通過(guò)jsch包提供的功能

maven依賴

com.jcraftjsch0.1.53復(fù)制代碼

java代碼實(shí)現(xiàn)如下

publicvoidjschthrowsJSchException,IOException{Liststdout=newArrayList<>;JSchjsch=newJSch;Sessionsession=jsch.getSession;session.setPassword;session.connect;//打開(kāi)通道,設(shè)置通道類型,和執(zhí)行的命令Channelchannel=session.openChannel;ChannelExecchannelExec=channel;channelExec.setCommand;channelExec.setInputStream;BufferedReaderinput=newBufferedReader));channelExec.connect;//接收遠(yuǎn)程服務(wù)器執(zhí)行命令的結(jié)果Stringline;while)!=null){stdout.add;}input.close;//關(guān)閉通道channelExec.disconnect;//關(guān)閉sessionsession.disconnect;LOGGER.info);}復(fù)制代碼

優(yōu)點(diǎn)

ssh連接可以通過(guò)工具保持,適合命令頻繁執(zhí)行的情況,可以減少不必要的ssh咨詢客服

各種api接口功能比較齊全,復(fù)雜度不高

支持拉取服務(wù)器文件

缺點(diǎn)

在認(rèn)證方面有一些坑,需要根據(jù)遇見(jiàn)的情況自己填一下

執(zhí)行時(shí)無(wú)法獲取到目標(biāo)服務(wù)器的環(huán)境變量,因此執(zhí)行命令的時(shí)候需要用命令的全路徑.例如xxxx/xxx/xxx/bin/java-jar,直接使用java-jar是不行的,可以通過(guò)type命令獲得命令的路徑

文章分類

Tags:服務(wù)器命令,ssh應(yīng)用- linux服務(wù)器A登陸linux服務(wù)器B

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部