0x01前言说到主机管理工具,你是否使用过资源监控、终端管理、主机面板、远程桌面、堡垒机等工具对主机进行管理和监控,但是你仍然面临以下问题:
我没带笔记本。服务器的SSH认证私钥只在笔记本里,没有我上传不了。
我家里有机器,但是网络受NAT影响,出门无法连接家里的内网,也无法远程连接内网主机。
l出于工作需要,在阿里云、腾讯云、华为云等各种云上买了很多机器,经常忘记自己有哪些机器,无法统一管理。
l运维要求SSH端口不能对外开放,连接SSH需要几层堡垒。
l我出门没有电脑,只有手机。我想看看服务器的状态。
l...
作为研发&;运维&安全技术爱好者长期被上述主机管理问题困扰。吃饱饭后,和三个程序员一拍即合,决定做一个主机管理小工具自己用。几天后第一版发布,发现身边很多朋友都有同样的烦恼,于是决定做一个公益服务,命名为:沐云主机管理助手,不到一个月就有1000多个朋友注册使用。本文将分享游戏玩法,揭示设计开发思路。欢迎各位技术爱好者前来体验交流~
在线体验:https://rivers.chaitin.cn/landing/collie
免费领取海外云主机请直接看文末↓
0x02面临的挑战。做技术的朋友一定很熟悉终端。终端是管理电脑最简单最直接的方式。为了方便我们使用,我们决定对终端做一些处理和整理,主要是以下几个问题需要解决:
能够连接到远程服务器的终端
–服务器应该能够在没有公共IP的情况下进行连接。
–您应该能够在不打开ssh服务的情况下进行连接。
支持对终端的远程协助。
–许多人同时操作同一个终端。
–观看远程操作时,您可以在终端中复制文本。
–支持录制终端操作,反复观看。
安全
–可以用账号密码登录,指定用户可以无密登录。
–您需要在服务器上保留一个标准登录日志。
0x03设计思路1。服务器端架构相对简单。在服务器上安装代理,用代理拉起本地终端,使用公网服务器作为中转,通过Websocket将终端的输入输出反馈到前端。请参考下图:
2.Web终端Web终端用的是Xterm.js,轮子很好,基本和本地终端一样的体验,省了很多东西,除了几个小问题:
bug很多,字体偶尔会飞走。
性能有点捉襟见肘,看GPU,屏幕越大越卡。
由于浏览器限制,Ctrl-w和esc不能使用。
3.AgentAgent部分,直接用login命令。
登录程序直接调用,有一个看起来不错的登录界面。
Login -f可以直接跳过密码认证,无密登录。
Login自己会把登录日志写入btmp和wtmp。
这样登录程序完全符合要求,只需要将登录进程的stdint/stdout/stderr与网络连接绑定即可。不过也有一个小问题:centos默认开启selinux,会干扰登录行为,root无法用密码登录。
4.协作方案关于如何多人协作使用终端,tmate是目前广泛使用的方案,但并不符合我们的要求。我们想要的方案是:
l不依赖ssh或其他客户端。
l不依赖公网环境,可以穿透内网。
l您可以选择两种模式:“仅观看终端”和“可以操作终端”
我可以支持文件上传和下载。
实现其实很简单,只需要复制代理的输入输出,发送到不同的Websocket,如下图所示:
一些细节可以在处理后使用:
多人使用时,每个人的屏幕大小不一样,需要同步调整col和row。
加入共享时如果没有输入可能什么都看不到,所以需要缓存输出流的历史信息。
如果全屏应用只刷新一部分,加入分享的时候看起来会很奇怪。
等等...
0x04使用微信扫码登录https://rivers.chaitin.cn/landing/collie百川平台。
绑定你的主机
1.在线终端
体验和本地终端基本一致,没有延迟,还可以支持颜色选择。和传统SSH最大的区别就是不需要开22个端口,不需要设置密码,不需要配置公私钥,不需要点击。
在另一个浏览器打开分享链接,然后双方可以同步操作,流畅如丝。
2.资源监控
借鉴微软的任务管理器,从磁盘空间、CPU利用率、内存利用率、网络IO、磁盘IO五个维度提供图标显示,还在服务器上保留了7天的历史数据。
3.资料管理
交互细节复制(参考)微软的资源管理器(希望比mac的finder好),现在只有目录和上传下载,后面还会增加快速查看和在线编辑的功能。
0x05写在最后。百川的开发者是来自长亭科技的技术爱好者联盟,旨在开发有趣、实用、免费的工具。欢迎朋友联系我们进行技术交流。目前这个工具提供的所有功能对普通个人用户都是免费的,但是如果你很有钱的话,非常感谢奖励50美分~
后续计划:
l私有化版本:为暂时不方便使用SaaS服务的用户提供独立部署能力。
l开源:功能相对完善后,项目源代码最终会以开源的方式反馈给技术社区。
0x06福利发放1。免费海外云托管。
新开通沐云主机管理助手的用户可以领取1台海外云主机,最多83台!
地址:https://rivers.chaitin.cn/landing/collie.
获取教程:https://www.bilibili.com/video/BV1gV4y1k7N1/
2.装满现金的红包
加入沐云主机管理交流群。
用8.88发现Bug的现金红包。
需求在8.88的现金红包中被采用。
群二维码:
评论前必须登录!
注册