1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        這款國產(chǎn)SSH客戶端很牛逼

        共 1291字,需瀏覽 3分鐘

         ·

        2021-01-17 03:00


        前言

        最近由于項目需求,項目中需要實(shí)現(xiàn)一個WebSSH連接終端的功能,由于自己第一次做這類型功能,所以首先上了GitHub找了找有沒有現(xiàn)成的輪子可以拿來直接用,當(dāng)時看到了很多這方面的項目,例如:GateOne、webssh、shellinabox等,這些項目都可以很好地實(shí)現(xiàn)webssh的功能,但是最終并沒有采用,原因是在于這些底層大都是python寫的,需要依賴很多文件,自己用的時候可以使用這種方案,快捷省事,但是做到項目中供用戶使用時,總不能要求用戶做到服務(wù)器中必須包含這些底層依賴,這顯然不太合理,所以我決定自己動手寫一個WebSSH的功能,并且作為一個獨(dú)立的項目開源出來。

        技術(shù)選型

        由于webssh需要實(shí)時數(shù)據(jù)交互,所以會選用長連接的WebSocket,為了開發(fā)的方便,框架選用SpringBoot,另外還自己了解了Java用戶連接ssh的jsch和實(shí)現(xiàn)前端shell頁面的xterm.js.

        所以,最終的技術(shù)選型就是 SpringBoot+Websocket+jsch+xterm.js。

        WebSSH的業(yè)務(wù)邏輯實(shí)現(xiàn)(核心)

        剛才我們實(shí)現(xiàn)了websocket的配置,都是一些死代碼,實(shí)現(xiàn)了接口再根據(jù)自身需求即可實(shí)現(xiàn),現(xiàn)在我們將進(jìn)行后端主要業(yè)務(wù)邏輯的實(shí)現(xiàn),在實(shí)現(xiàn)這個邏輯之前,我們先來想想,WebSSH,我們主要想要呈現(xiàn)一個什么效果。

        我這里做了一個總結(jié):

        • 1.首先我們得先連接上終端(初始化連接)
        • 2.其次我們的服務(wù)端需要處理來自前端的消息(接收并處理前端消息)
        • 3.我們需要將終端返回的消息回寫到前端(數(shù)據(jù)回寫前端)
        • 4.關(guān)閉連接

        效果展示

        • 連接
        • 連接成功

        命令操作

        ls命令vim編輯器top命令

        結(jié)語

        這樣我們就完成了一個webssh項目的實(shí)現(xiàn),沒有依賴其它任何的組件,后端完全使用Java實(shí)現(xiàn),由于用了SpringBoot,非常容易部署。

        但是,我們還可以對這個項目進(jìn)行擴(kuò)展,比如新增上傳或下載文件,就像Xftp一樣,可以很方便地拖拽式上傳下載文件。

        這個項目之后我會持續(xù)更新,上述功能也會慢慢實(shí)現(xiàn),Github:https://github.com/NoCortY/WebSSH

        來源:https://blog.csdn.net/NoCortY/article/details/104772431


        推薦閱讀

        分享基于 Spring Cloud +OAuth2 的權(quán)限管理系統(tǒng)

        鏈家程序員刪公司9TB 數(shù)據(jù) 被判7年

        工作10年后,再看String s = new String("xyz") 創(chuàng)建了幾個對象?

        SpringBoot集成WebSocket,實(shí)現(xiàn)后臺向前端推送信息

        SpringBoot 配置 ELK 環(huán)境

        給代碼寫注釋時有哪些講究?

        程序員該如何把 Windows 系統(tǒng)打造的跟 Mac 一樣牛逼?

        基于 SpringBoot,來實(shí)現(xiàn)MySQL讀寫分離技術(shù)

        瀏覽 27
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            在线观看免费黄色视频 | 乱伦一级 | 亚洲青青草原 | 91精品日产乱码一二三区别 | 操逼剧场 | 失禁おもらし漏尿网站 | 日韩无码啪啪啪 | 青青草无码成人A片免费看 | 人人看人人做 | 国模人体二区 |