惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LangChain Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
博客园 - 叶小钗
I
InfoQ
MyScale Blog
MyScale Blog
H
Help Net Security
月光博客
月光博客
Vercel News
Vercel News
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky

灰叶的笔记

Linux逻辑卷2-扩容/常用命令汇总 | 灰叶的笔记 Dockerfile 容器镜像构建 | 灰叶的笔记 Linux 查看内存和实际物理内存大小不一致 | 灰叶的笔记 GCP创建泛域名证书(域名托管在CloudFlare) | 灰叶的笔记 Docker基础指令-镜像相关 | 灰叶的笔记 Docker基础指令-容器相关 | 灰叶的笔记 GCP和AWS使用PCCW专线互联 | 灰叶的笔记 使用 OpenTelemetry 采集日志推送至 GCP Cloud Logging | 灰叶的笔记 vim编辑器常用操作 | 灰叶的笔记 Linux主机是否被入侵的11个排查步骤 | 灰叶的笔记 Ubuntu 安装 Docker-CE | 灰叶的笔记 Fail2Ban-Linux防SSH暴力破解工具 | 灰叶的笔记 公用云Linux快照创建磁盘挂载问题 | 灰叶的笔记 ubuntu 安装图形化桌面 | 灰叶的笔记 iptables基础命令与filter表相关命令 | 灰叶的笔记 Linux逻辑卷 | 灰叶的笔记 UCloud CentOS6.X修改hostname | 灰叶的笔记 软件源安装Dokcer | 灰叶的笔记 Ubuntu系统启用root用户ssh远程登录 | 灰叶的笔记 Windows Server关闭IE增强 | 灰叶的笔记 windows云服务器开启媒体声音 | 灰叶的笔记 MySQL5.7多实例部署 | 灰叶的笔记 nc网络工具 | 灰叶的笔记 WinServer2008云服务器系统盘可压缩空间不足 | 灰叶的笔记 Rocky Linux8.5 UCloud官方镜像进入单用户模式 | 灰叶的笔记 UCloud官方Linux 镜像进入单用户模式汇总 | 灰叶的笔记 Debian10 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS6 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS7/8 UCloud官方镜像进入单用户模式 | 灰叶的笔记 Ubuntu UCloud官方镜像进入单用户模式 | 灰叶的笔记
webssh:可以用浏览器连接的ssh终端 | 灰叶的笔记
huiye · 2022-08-20 · via 灰叶的笔记

导航:

第一章:webssh简介 

第二章:快速安装

第三章:其他参数

第四章:使用nginx代理

一、webssh简介:

这是一个基于tornado、paramiko和xterm.js开发,python语言编写的web应用程序,可以用作ssh客户端连接到Linux服务器

项目地址:https://github.com/huashengdun/webssh

环境要求:Python 2.7/3.4+(此文章不做python环境安装介绍)

运作方式:

+---------+     http     +--------+    ssh    +-----------+
| browser | <==========> | webssh | <=======> | ssh server|
+---------+   websocket  +--------+    ssh    +-----------+

二、快速安装

step1:安装
# pip install webssh 或 pip3 install webssh
step2:启动服务
# wssh
step3:浏览器访问(默认端口为8888,需要在防火墙中开放此端口或关闭防火墙):http://ip:8888

注意:通常情况下会拒绝来公网的http请求,http访问会显示403 Forbidden,启动服务时可以加上如下参数来开启http访问

# wssh --fbidhttp=False

网络页面如下,支持秘钥登录

webssh:可以用浏览器连接的ssh终端

这里贴一个已经部署好的测试链接:https://ssh.huiyex.top

三、其他参数

# 启动http服务时,指定监听地址和端口
wssh --address='0.0.0.0' --port=8000

# 启动https服务时,指定ssl证书、私钥路径、ssl
wssh --certfile='/path/to/cert.crt' --keyfile='/path/to/cert.key' --sslport=4433

# 拒绝不在known_hosts上的主机连接;这个文件路径一般是~/.ssh/known_hosts或/root/.ssh/known_hosts
wssh --policy=reject

# 设置日志等级为debug
wssh --logging=debug

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

# 帮助
wssh --help

# 允许公网http访问
wssh --fbidhttp=False

四、使用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;
}

注: 为了安全考虑,部署时建议使用 SSL 加密,且设置 policy为reject,拒绝不在 known_hosts上的主机连接。