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您可以选择两种模式:“仅观看终端”和“可以操作终端”
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英镑的现金红包中获得通过。
群二维码:
评论前必须登录!
注册