日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

不少的云服務器的網頁后臺就能登錄服務器,并可以在瀏覽器上進入命令行交互。能不能在自己也部署一個呢?能不能配置一個更加符合自身需求的網頁 SSH 終端呢?或許可以以此做一個更好的運維管理平臺?來看看 Python 編寫的 WebSSH 吧!

WebSSH - 網頁上的SSH終端

WebSSH

簡介

WebSSH,是 huashengdun 在 Github 上開源的 SSH 終端 Web 應用,項目地址為
https://github.com/huashengdun/webssh,目前版本為 1.5.2。WebSSH 使用 Python 編寫,基于 tornado、paramiko 和 xterm.js 庫,支持用戶名密碼登錄、密鑰登陸和雙因素認證,命令行窗口支持全屏且可改變大小,并支持主流的現代瀏覽器。

WebSSH - 網頁上的SSH終端

WebSSH

安裝

WebSSH 要求 Python2.7 或 3.4+。如果有 Python 環境,可以使用 pip 進行安裝:

pip install webssh

也可以使用 Docker 運行,下載源碼后在項目根目錄運行

docker-compose up

即可使用項目所包含的 docker-compose.yml 進行運行部署運行。

示例

WebSSH 在安裝完成后,可以直接執行

wssh

運行服務,此時服務默認運行在 127.0.0.1:8888,可以進行訪問,顯示的是一個 SSH 登錄界面:

WebSSH - 網頁上的SSH終端

WebSSH登錄界面

可以看到,登錄的表單輸入包括了主機、密碼、用戶名、密碼、密鑰、口令短語和一次性密碼的輸入,用戶可以根據自身所需的登錄驗證方式進行輸入,最后點擊 Connect 進行連接。連接成功后,網頁就會顯示所登錄的命令行界面:

WebSSH - 網頁上的SSH終端

WebSSH命令行界面

命令行界面由 xterm.js 渲染,十分美觀實用。

WebSSH 還提供了命令行參數來進行配置:

# 在主機2.2.2.2和端口8000上啟動服務
wssh --address='2.2.2.2' --port=8000

# 啟動一個HTTPS服務,指定證書和私鑰
wssh --certfile='/path/to/cert.crt' --keyfile='/path/to/cert.key'

# 對于不在known_hosts上的主機的登錄進行拒絕
wssh --policy=reject

# 設置日志等級為debug
wssh --logging=debug

# 指定日志文件
wssh --log-file-prefix=main.log

# 幫助,更多選項
wssh --help

如果對命令行的字體不滿意,可以把新的字體文件放置在 webssh/static/css/fonts/ 中進行修改。

此外,WebSSH 支持使用 URL 參數進行登錄,和進行命令行窗口的外觀設置:

  • 傳遞主機、端口、用戶名和 base64 編碼的密碼進行登錄
http://localhost:8888/?hostname=xx&username=yy&password=str_base64_encoded
  • 設置命令行背景顏色
http://localhost:8888/#bgcolor=green
  • 設置命令行標題
http://localhost:8888/?title=my-ssh-server
  • 設置命令行字符編碼
http://localhost:8888/#encoding=gbk
  • 設置登錄后馬上執行的命令
http://localhost:8888/?command=pwd
  • 設置命令行類型
http://localhost:8888/?term=xterm-256color

部署

可以使用 Nginx 進行反向代理,

wssh --address='127.0.0.1' --port=8888 --policy=reject
# Nginx配置
location / {
    proxy_pass http://127.0.0.1:8888;
    proxy_http_version 1.1;
    proxy_read_timeout 300;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
}

也可以直接部署為獨立服務。

wssh --port=8080 --sslport=4433 --certfile='cert.crt' --keyfile='cert.key' --xheaders=False --policy=reject

注意為了安全考慮,部署時要使用 SSL 加密,且一般設置 policy 為 reject,拒絕不在 known_hosts 上的主機連接。

WebSSH 項目的作者在其個人主頁上進行了部署,可以進行試用參考。

WebSSH - 網頁上的SSH終端

WebSSH

總結

作為一個網頁 SSH 終端,WebSSH 功能齊全,美觀實用,部署簡單,可以快速實現 SSH 登錄功能。WebSSH 支持大量的個性化配置,可以調配適合自己審美的界面。同時 WebSSH 使用 Python 開發,易于進行二次開發,便于添加擴展功能;后端使用了 tornado 框架,在性能上也可以放心。

WebSSH 是一個典型的 Web 應用,代碼簡潔,功能清晰,是一個值得參考的 Python 開發的 Web 應用項目。感興趣的開發者可以在其基礎上開發插件,實現更多功能。

分享到:
標簽:WebSSH
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定