开发总结
架构
这是自己总结的结构
https://docs.qq.com/mind/DUnNtdkdKTnFpTU1T
官网的架构是这个地址
https://docs.jumpserver.org/zh/master/dev/build/#_2
环境搭建
我的开发环境win10家庭版+centos7虚拟机
官网各个组件编译说明地址:
https://docs.jumpserver.org/zh/master/dev/build/
1.jumpserver的开发环境和生产环境必须是linux环境,不支持windows
2. 后端的python代码(core相关服务)尽量在linux上开发和调试,不要试图在windows上进行开发和win上远程调试,我各种方法已经试过了,windows下pycharm没法打远程断点(断不住);
3. python的core服务的运行必须得指定python的虚拟环境,并将虚拟环境激活,按官方的编译文档激活即可
4. lion组件的是不源的,直接下载对应版本的releaseb包即可
5. lion组件并没有完全摆脱Guacamole ,所以在远程windows时,使用RDP协议时,服务器还得安装Guacamole ,并不是像官网所说的重写
6. 安装Guacamole 一定要安装相关依赖,否则RDP远程连接会无法使用;
部署
手动单机部署
官方的部署是基于docker方式部署,如果需要手动部署各个服务,则需要改下nginx配置
下面是单机版部署所有过程:
问题解决
1.为什么jumpserver 的ssh远程连接框架,没有使用guac而是koko
这个问题一直在我心中困扰,我的推测是他们肯定是遇到了什么坑,没有填平后来在无意发现了一篇文章,解决了心中的疑惑
文章地址https://github.com/jumpserver/jumpserver/issues/2359
,文中说其实他们是由于sftp和命令拦截等一系列问题没有解决,才换ssh的远程连接框架的,其实吧这些都是可以解决的,我在项目中实际解决了这些问题