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

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

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

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

WebSSH - 網(wǎng)頁上的SSH終端

WebSSH

簡介

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

WebSSH - 網(wǎng)頁上的SSH終端

WebSSH

安裝

WebSSH 要求 Python2.7 或 3.4+。如果有 Python 環(huán)境,可以使用 pip 進(jìn)行安裝:

pip install webssh

也可以使用 Docker 運(yùn)行,下載源碼后在項(xiàng)目根目錄運(yùn)行

docker-compose up

即可使用項(xiàng)目所包含的 docker-compose.yml 進(jìn)行運(yùn)行部署運(yùn)行。

示例

WebSSH 在安裝完成后,可以直接執(zhí)行

wssh

運(yùn)行服務(wù),此時(shí)服務(wù)默認(rèn)運(yùn)行在 127.0.0.1:8888,可以進(jìn)行訪問,顯示的是一個(gè) SSH 登錄界面:

WebSSH - 網(wǎng)頁上的SSH終端

WebSSH登錄界面

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

WebSSH - 網(wǎng)頁上的SSH終端

WebSSH命令行界面

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

WebSSH 還提供了命令行參數(shù)來進(jìn)行配置:

# 在主機(jī)2.2.2.2和端口8000上啟動(dòng)服務(wù)
wssh --address='2.2.2.2' --port=8000

# 啟動(dòng)一個(gè)HTTPS服務(wù),指定證書和私鑰
wssh --certfile='/path/to/cert.crt' --keyfile='/path/to/cert.key'

# 對于不在known_hosts上的主機(jī)的登錄進(jìn)行拒絕
wssh --policy=reject

# 設(shè)置日志等級為debug
wssh --logging=debug

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

# 幫助,更多選項(xiàng)
wssh --help

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

此外,WebSSH 支持使用 URL 參數(shù)進(jìn)行登錄,和進(jìn)行命令行窗口的外觀設(shè)置:

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

部署

可以使用 Nginx 進(jìn)行反向代理,

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;
}

也可以直接部署為獨(dú)立服務(wù)。

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

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

WebSSH 項(xiàng)目的作者在其個(gè)人主頁上進(jìn)行了部署,可以進(jìn)行試用參考。

WebSSH - 網(wǎng)頁上的SSH終端

WebSSH

總結(jié)

作為一個(gè)網(wǎng)頁 SSH 終端,WebSSH 功能齊全,美觀實(shí)用,部署簡單,可以快速實(shí)現(xiàn) SSH 登錄功能。WebSSH 支持大量的個(gè)性化配置,可以調(diào)配適合自己審美的界面。同時(shí) WebSSH 使用 Python 開發(fā),易于進(jìn)行二次開發(fā),便于添加擴(kuò)展功能;后端使用了 tornado 框架,在性能上也可以放心。

WebSSH 是一個(gè)典型的 Web 應(yīng)用,代碼簡潔,功能清晰,是一個(gè)值得參考的 Python 開發(fā)的 Web 應(yīng)用項(xiàng)目。感興趣的開發(fā)者可以在其基礎(chǔ)上開發(fā)插件,實(shí)現(xiàn)更多功能。

分享到:
標(biāo)簽:WebSSH
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定