使用浏览器访问服务器shell(ssh方式)
需求說明
日前因為工作,需要在瀏覽器網頁上訪問服務器終端進行操作,這種情況在使用阿里云等平臺時經常會使用到,最近項目需要實現這個功能,就做了一番調研。偶然間發現jupyterlab平臺上就有這個功能
環境說明
操作系統:ubuntu18
python版本:3.6
詳情
本次測試的軟件是webssh
這個軟件是一個簡單的 Web 應用程序,用于ssh 客戶端連接到 ssh 服務器的工具。它是用 Python 編寫的,基于 tornado、paramiko 和 xterm.js。
其中的xterm.js是前端用于展示終端頁面的項目,也是本項目的一個核心。
安裝
pip install webssh啟動
wssh --address='hostip' --port=8000實現原理
±--------+ http ±-------+ ssh ±----------+
| browser | <====> | webssh | <=> | ssh server|
±--------+ websocket ±-------+ ssh ±----------+
填入要連接的服務器對應信息后點擊connect,在network中可以看到響應信息
其中的id用來創建websocket連接
此時就已經進入了終端頁面如下所示:
這種模式的本質是ssh連接,要求服務端的sshd服務必須正常開啟,且能訪問,否則是無法通過該方式進入服務器的。
更多使用詳見 https://github.com/huashengdun/webssh
需要提一下的是xterm.js是眾多軟件實現該功能的基礎軟件,如vscode、jupyterlab等,更多的可以看github上
使用瀏覽器通過ssh訪問服務器
總結
以上是生活随笔為你收集整理的使用浏览器访问服务器shell(ssh方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器访问服务器的过程
- 下一篇: 闲庭信步聊前端 - 见微知著微前端