由 Python 代码及 JS 实现的 webssh 工具
文章
林里克斯
实验平台:
CentOS Linux release 7.6.1810 (Core)
Python Version:
Python 3.9.0
WebSSH Version:
webssh 1.5.3
一、介绍
1.官网
https://pypi.org/project/webssh/
2.功能
- 支持
SSH
密码身份验证,包括空密码。 - 支持
SSH
公钥身份验证,包括DSA RSA ECDSA Ed25519
密钥。 - 支持加密密钥。
- 支持两因素身份验证(基于时间的一次性密码)。
- 支持全屏终端。
- 终端窗口可调整大小。
- 自动检测
ssh
服务器的默认编码。 - 支持现代浏览器,包括
Chrome,Firefox,Safari,Edge,Opera
3.运行过程
+ --------- + http + -------- + ssh + ----------- +
| 浏览器| <==========> | webssh | <=======> | SSH服务器|
+ --------- + websocket + -------- + ssh + ----------- +
二、安装
1.WebSSH
是基于 Python
模块,可直接安装
$ pip3 install webssh
2.启动
$ wssh --address='10.10.10.58' --port=8080
#指定 ip 和 端口 启动
3.常用参数
$ wssh --certfile='/path/to/cert.crt' --keyfile='/path/to/cert.key'
#指定 https 访问的证书和密钥
$ wssh --policy=reject
#主机密钥策略
$ wssh --logging=debug
#指定日志级别
$ wssh --log-file-prefix=main.log
#指定日志存放路径
$ wssh --help
#参数详解
4.使用 Nginx
代理
location / {
proxy_pass http://10.10.10.58:8080;
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;
}
5.URL
参数
http://localhost:8888/?hostname=xx&username=yy&password=str_base64_encoded
#传递表单数据(密码必须用base64编码,不支持privatekey)
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
#传递终端类型
6.查看
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1365 0 2021-02-23
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353582 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...