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