所需技術(shù):
websocket 目前市面上大多數(shù)的 webssh 都是基于 websocket 協(xié)議完成的
django-channels django 的第三方插件, 為 django 提供 websocket 支持
xterm.js 前端模擬 shell 終端的一個(gè)庫(kù)
paramiko python 下對(duì) ssh3 封裝的一個(gè)庫(kù)
如何將所需技術(shù)整合起來(lái)?
1、xterm.js 在瀏覽器端模擬 shell 終端, 監(jiān)聽(tīng)用戶輸入通過(guò) websocket 將用戶輸入的內(nèi)容上傳到 django
2、django 接受到用戶上傳的內(nèi)容, 將用戶在前端頁(yè)面輸入的內(nèi)容通過(guò) paramiko 建立的 ssh 通道上傳到遠(yuǎn)程服務(wù)器執(zhí)行
3、paramiko 將遠(yuǎn)程服務(wù)器的處理結(jié)果返回給 django
4、django 將 paramiko 返回的結(jié)果通過(guò) websocket 返回給用戶
5、xterm.js 接收 django 返回的數(shù)據(jù)并將其寫(xiě)入前端頁(yè)面
流程圖:
具體實(shí)現(xiàn):
https://github.com/huyuan1999/django-webssh
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。