搭建属于自己的 huashengdun-webssh 完整教程
本文将介绍如何搭建一个基于 huashengdun-webssh 的 Web SSH 服务。通过这些步骤,你将能够轻松配置并通过浏览器访问你的 SSH 服务。以下是从源码下载到部署完成的详细步骤。
开源地址:https://github.com/huashengdun/webssh
Demo地址:https://vps.akile.us.kg/
1. 下载源码
首先,使用 Git 克隆 huashengdun-webssh 仓库到本地:
git clone https://github.com/huashengdun/webssh.git
2. 进入源码目录
进入刚才下载的 webssh 目录:
cd webssh
3. 安装 wenssh
在项目目录中运行以下命令,安装 wenssh Python 包:
python setup.py install
4. 安装系统依赖
安装一些编译所需的系统依赖:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
5. 启动 Web SSH
安装完依赖后,使用以下命令启动 webssh 服务:
wssh
成功启动后,控制台会输出类似以下信息:
[I 241202 11:31:27 settings:125] WarningPolicy
[I 241202 11:31:27 main:38] Listening on :8888 (http)
此时,Web SSH 服务已经在 8888 端口启动,默认使用 HTTP 协议。
6. 如果访问报错 403
如果你在访问时遇到 403 Forbidden 错误,说明 HTTP 请求 被禁止。可以使用以下命令来允许普通 HTTP 请求:
wssh --fbidhttp=False
这会禁用 Web SSH 对公共 HTTP 请求的限制,允许 HTTP 请求访问。
7. 确保 8888 端口没有被占用
访问服务时,请确保端口 8888 没有被其他程序占用。你可以使用以下命令检查:
lsof -i:8888
如果有程序占用了该端口,可以通过以下命令终止对应的进程:
kill -9 <pid>
其中 <pid> 为占用端口的进程 ID。
8. 后台启动 Web SSH
如果你希望将 Web SSH 服务以后台方式运行,可以使用 nohup 命令:
nohup wssh --fbidhttp=False &
这将使得 Web SSH 在后台持续运行,即使你退出当前的 SSH 会话。
9. 配置域名访问(推荐使用 Cloudflare)
为了方便访问,你可以使用域名进行访问。推荐使用 Cloudflare,因为它设置简单且功能强大。以下是通过 Cloudflare 配置域名访问的步骤:
步骤 1:登录 Cloudflare
- 登录到 Cloudflare 账户,选择你想要绑定的域名。
步骤 2:添加 DNS 记录
- 进入 DNS 页面,添加一条 A 记录,将域名指向你的服务器的公网 IP 地址。
- 确保记录的 小黄云 图标是开启状态(即流量经过 Cloudflare 代理)。
步骤 3:配置 SSL/TLS 加密
- 进入 SSL/TLS 页面,将 加密模式 设置为 灵活(Flexible)。这意味着 Cloudflare 会将客户端与 Cloudflare 之间的连接加密,但 Cloudflare 与源服务器之间的连接不加密。
步骤 4:设置 Origin Rules
- 进入 规则 -> Origin Rules -> 创建规则。
- 设置规则名称(随意)。
- 主机名:选择 等于,并填写你刚刚解析好的域名。
- 重写到:设置为 8888,即将请求重定向到服务器的
8888端口。
步骤 5:部署并访问
- 完成设置后,点击 部署 按钮,等待 Cloudflare 配置生效。
- 现在,你可以通过域名访问你的 Web SSH 服务。
10. 完成!
至此,你已经成功地搭建并配置了 Web SSH 服务,并通过 Cloudflare 配置了域名访问。你可以使用浏览器通过域名访问 SSH 服务,愉快地进行 SSH 操作。
总结
通过上述步骤,我们完成了 huashengdun-webssh 的搭建和配置,具体步骤包括:
- 从 GitHub 克隆项目源码。
- 安装
wenssh及其依赖。 - 启动 Web SSH 服务。
- 如果遇到 403 错误,允许 HTTP 请求。
- 检查端口占用,确保端口
8888没有被占用。 - 使用
nohup将服务设置为后台运行。 - 使用 Cloudflare 配置域名和 SSL/TLS 加密。
- 最后,通过配置好的域名访问 Web SSH 服务。
这样,你就完成了 Web SSH 的搭建,并通过域名轻松访问,享受高效便捷的 SSH 操作体验。