您好,登錄后才能下訂單哦!
小編給大家分享一下不安裝Xshell、Xftp如何遠程操作服務器,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前言
之前講過,我現(xiàn)在在一家國企上班,由于集團網(wǎng)絡環(huán)境是封閉的內(nèi)網(wǎng),平時的部署上線,日志排查是通過一個跳板堡壘機去連接內(nèi)網(wǎng)機器,大致情況如下圖:
以及聯(lián)想到Alibaba開源的Java診斷工具Arthas,其Web Console在瀏覽器上就可以執(zhí)行命令,操作簡單,界面也非常的nice。
然后就想著去實現(xiàn)一個自己的Web SSH,去探究其內(nèi)部的原理。
實現(xiàn)
webssh泛指一種技術可以在網(wǎng)頁上實現(xiàn)一個SSH終端。從而無需Xshell之類的模擬終端工具進行SSH連接,將SSH這一比較低層的操作也從C/S架構(gòu)扭成了B/S架構(gòu)。
工作原理
+---------+ http +--------+ ssh +-----------+ | browser | <==========> | webssh | <=======> | ssh server| +---------+ websocket +--------+ ssh +-----------+
WebSocket長連接,用于指令發(fā)送和響應的實時交互
xterm.js是一個基于WebSocket的容器,它可以幫助我們在前端實現(xiàn)命令行的樣式。
JSch是SSH2的一個純Java實現(xiàn)。它允許你連接到一個sshd 服務器,使用端口轉(zhuǎn)發(fā),X11轉(zhuǎn)發(fā),文件傳輸?shù)鹊取?/p>
實現(xiàn)功能
命令執(zhí)行
文件上傳/下載
相關代碼
依賴
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.7.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <dependencies> <!-- Web相關 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- jsch支持 --> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency> <!-- WebSocket 支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> </dependencies>
相關截圖
登錄
命令執(zhí)行
文件列表、刪除、下載
文件上傳
由于相關實現(xiàn)較為簡單,只要看下JSch和xterm.js即可實現(xiàn),還能自由擴展相關功能。
以上是“不安裝Xshell、Xftp如何遠程操作服務器”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。