在浏览器里敲SSH这个念头,我打消了很久,最后还是没忍住
前言
说实话,SSH 客户端这事我一直觉得没什么好折腾的。Windows 上有 PuTTY,Mac/Linux 直接用终端,配好密钥之后其实挺顺手的。
但真正被这个问题卡住,是在几个特定场景下:临时需要在一台公用设备上操作服务器,没有自己的 SSH 客户端;手机端想要快速敲几个命令,屏幕又小又没键盘;或者公司网络限制了 SSH 端口出口,但 HTTP 流量是通的。遇到这类情况的时候,就会有点想要一个浏览器里的终端。
WebSSH 解决的就是这个:不需要装任何客户端,打开浏览器就能连服务器。搭好之后,在任何设备上只要有个浏览器和网络,就能操作 Linux 服务器。
搭这套方案的过程中也踩过一些坑:WebSSH 默认只监听内网,直接暴露到公网有安全风险;需要配合 HTTPS 和认证才能真正放心使用;cpolar 穿透的时候端口和协议也要选对,不然访问不稳定。这些后面会细说。
本文将带你从零开始,实战部署一款轻量、稳定、开源的WebSSH工具(如ttyd或WebSSH),涵盖安装配置、安全加固、HTTPS启用及日常使用技巧。无论你是DevOps工程师、SRE,还是个人开发者,都能借此打造属于自己的“云端终端”,真正实现 “Anywhere, Anytime, Any Device” 的远程运维自由。

1.在极空间部署前期准备
1.1ssh远程连接到极空间
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP
没有ssh的小伙伴可以到cpolar官网参考这篇文章:
《极空间别再吃灰了!开启SSH,秒变全能服务器! - cpolar 极点云官网》

2.安装WebSSH
方式一:在线安装
通过pip安装webssh:
pip3 install webssh

方式二:离线安装
通过git或下载离线包方式,将源码下载至本地:
# 下载源码
git clone https://github.com/huashengdun/webssh.git
# 进入目录
cd webssh
# 安装wenssh
python setup.py install
启动webssh
wssh
出现[I 221111 11:26:57 main:39] Listening on :8888 (http)提示表示已经启动成功了!

访问wenssh
在浏览器中输入 http://极空间IP:8888 就能看到访问界面:

改变背景色和字体颜色
通过请求访问时,可以增加#fontcolor=black&bgcolor=white参数。例如访问http://ip:8888/#fontcolor=black&bgcolor=white ,结果如下:

通过get请求实现自动登录
访问http://ip:8888/?hostname=192.168.42.140&username=root&password=base64加密后的密码&port=端口
然而,大多数WebSSH服务默认只监听内网地址,无法从公网直接访问。
这时候,我们就需要一位“桥梁”:内网穿透工具。
cpolar正是这样一款简单高效的内网穿透利器。它能将本地运行的 WebSSH 服务,安全地映射到公网可访问的 HTTPS 地址,无需公网 IP、无需路由器配置、无需复杂防火墙规则。
3.安装cpolar实现随时随地开发
3.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
3.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

4.配置公网地址
-
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:webssh,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8888
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

5.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是webssh,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
整体搭下来,WebSSH 加 cpolar 这套组合的实用场景比较明确:临时设备上没有 SSH 客户端、手机端需要快速操作服务器、或者网络环境限制了 SSH 端口但 HTTP 可以通的情况下,浏览器里敲命令是更灵活的选择。
安全方面有几个基本注意点:WebSSH 要跑在 HTTPS 后面,认证要配上,不要把服务直接裸奔在公网。cpolar 这侧可以用固定二级子域名,省去每次地址变化还要重新配置的麻烦。
用场景比较明确:临时设备上没有 SSH 客户端、手机端需要快速操作服务器、或者网络环境限制了 SSH 端口但 HTTP 可以通的情况下,浏览器里敲命令是更灵活的选择。
安全方面有几个基本注意点:WebSSH 要跑在 HTTPS 后面,认证要配上,不要把服务直接裸奔在公网。cpolar 这侧可以用固定二级子域名,省去每次地址变化还要重新配置的麻烦。
如果日常开发或者运维工作本身就在固定设备上完成,传统的 SSH 客户端仍然是效率最高的选择。但对于需要随时随地、从任意设备访问服务器的场景,WebSSH 是个值得拥有的选项。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)