项目地址:https://github.com/huashengdun/webssh
一个简单的 Web 应用程序,用作 ssh 客户端以连接到您的 ssh 服务器。它是用 Python 编写的,基于 tornado、paramiko 和 xterm.js。
特征:
- 支持SSH密码认证,包括空密码。
- 支持 SSH 公钥认证,包括 DSA RSA ECDSA Ed25519 密钥。
- 支持加密密钥。
- 支持两因素身份验证(基于时间的一次性密码)。
- 支持全屏终端。 终端窗口可调整大小。 自动检测 ssh 服务器的默认编码。
- 支持现代浏览器,包括 Chrome、Firefox、Safari、Edge、Opera。
WebSSH安装
方式一:在线安装
通过pip安装webssh
pip install webssh
方式二:离线安装
通过git或下载离线包方式,将源码下载至本地
# 下载源码
git clone https://github.com/huashengdun/webssh.git
# 进入目录
cd webssh
# 安装wenssh
python setup.py install
如果环境中没有libffi
等包,先通过以下指令安装
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
启动webssh
wssh
出现[I 221111 11:26:57 main:39] Listening on :8888 (http)
提示表示已经启动成功了
访问wenssh
访问 http://ip:8888 即可
使用
后台启动
nohup wssh --fbidhttp=False &
8888端口占用
通过lsof
指令查看端口占用情况
lsof -i:8888
再通过kill指令杀死进程
kill -9 pid # pid为对应的端口号
访问403
error:webssh Public plain http request is forbidden.
wssh拦截了http请求,通过--fbidhttp=False
参数开放http请求
wssh --fbidhttp=False
在iframe中使用
若出现"XSRF cookie does not match POST argument"
提示,通过添加参数wssh --xsrf=False
禁用XSRF。
wssh --xsrf=False
通过get请求实现自动登录
访问http://ip:8888/?hostname=服务器地址&username=账号&password=base64加密后的密码&port=端口
改变背景色和字体颜色
通过请求访问时,可以增加#fontcolor=black&bgcolor=white
参数。访问http://ip:8888/#fontcolor=black&bgcolor=white
参考:
webssh
issue #263