当前位置: 首页 > Linux

技术爱好者主机远程协作工具开发指南

时间:2023-04-06 23:11:57 Linux

介绍说到主机管理工具,你有没有使用过资源监控、终端管理、主机面板、远程桌面、堡垒机等工具来管理和监控主机?但是,我仍然面临以下问题:我没有笔记本电脑,服务器的SSH认证私钥只有笔记本电脑,所以没有私钥无法登录。网络,无法远程连接到内网主机。由于工作需要,在阿里云、腾讯云、华为云等各种云上买了很多机器。经常忘记自己有哪些机器,无法统一管理运维需求。SSH端口不能对外开放,即使是SSH也需要好几层堡垒机。没有电脑,只有手机,想查看一下服务器的状态。。。作为一名研发&运维&安全技术爱好者,长期被以上问题困扰。酒足饭饱,和三个程序员一拍即合,决定自己做一个主机管理小工具,自己用。几天后第一个版本发布,发现身边很多朋友都有同样的问题,于是决定做一个公益,正式给这个工具命名为:牧云主机管理助手。上线不到一个月,就有1000多位朋友注册使用。本文将分享游戏玩法并揭示开发思路。欢迎各位技术爱好者前来体验交流~在线体验:https://rivers.chaitin.cn/01.挑战各位技术小伙伴一定要熟悉终端,终端是最简单直接的电脑管理方式。为了方便我们使用,我们决定在终端做一些处理,整理一下。主要问题有以下几点:可以连接远程服务器的终端服务器没有公网IP,无法连接ssh服务。需要能够连接并支持终端的远程协助。多人可以同时操作同一个终端。查看远程操作时,可以复制终端中的文字。终端操作可记录,可反复观看。安全可使用账号密码登录,指定用户可免密码登录。登录需要在服务器上留下标准的登录日志。02.设计思路1.服务器架构比较简单。在服务器上安装Agent,使用Agent拉起本地终端,使用公网服务器作为中继,通过Websocket将终端的连接输入输出馈送到前端,参考下图:2、web端web端使用xterm.js,轮子不错,体验和本地端基本一样,省了很多功夫,但是有几个小问题:bug多,而且字体偶尔性能有点捉襟见肘,看GPU,屏幕越大越卡受浏览器限制,Ctrl-w和esc不能用登陆界面login-f可以直接跳过密码验证和免密码登录登录本身会将登录日志写入btmp和wtmp这样登录程序完全满足要求,只需要把登录过程和网络的stdint/stdout/stderr放到连接和绑定。不过也有一些小问题:centos默认开启selinux,会干扰login的登录行为,root不能密码登录。4、协同解决关于多人如何使用终端的问题,tmate是目前应用比较广泛的解决方案,但是不符合我们的要求。我们想要的解决方案:不依赖ssh或者其他客户端,不依赖公网环境,可以通过内网,可以选择“只能看终端”和“可以操作终端”两种模式.它可以支持文件上传和下载。实现其实很简单。你只需要复制Agent的输入和输出,分别发送给不同的Websockets。参考下图:03.打开微信扫码方式登录百川云平台https://rivers.chaitin.cn/绑定你的主机点击在线端>分享按钮生成访问链接单击一下。在另一个浏览器中打开分享链接,双方即可同步操作,如丝般顺滑。除了远程协作,沐云主机管理助手还提供了资源监控、文件管理等功能,而且对普通个人用户免费,不过如果你很有钱,可以捐50毛钱,非常感谢~我们要为了讨好同为死宅程序员的人情,我也花了大半夜的时间做P图,定制了一套初音皮肤。这里我故意不说剥皮入口。谁找到谁先用~后续计划:Windows版:支持管理Windows主机私有现代化版:提供独立部署能力,开源给暂时不方便使用SaaS服务的用户:功能比较完善后,项目源代码最终将以开源的方式回馈给技术社区。欢迎大家加入CTRivers万能助手进群积极讨论:发现bug现金红包¥8.88。接受需求并获得¥8.88的现金红包: