概述 {#heading-1}
本文章主要介绍在使用 JumpServer 过程中,可能会遇到的一些问题,在使用过程中,会持续进行更新。
一、安装部署类 {#heading-2}
1、Jumpserver 堡垒机放置在防火墙中,需要开放的端口? {#heading-3}
社区版用户:22(SSH 端口)、80(web http 端口)、443(web https 端口)、2222(KOKO SSH 端口)。
企业版用户:22(SSH 端口)、80(web http 端口)、443(web https 端口)、2222(KOKO SSH 端口)、3389(XRDP 端口)。
由于新版本中增加了 Magnus 组件,可以使用 Navicat 等连接数据库。所以需要根据纳管的数据库不同开放不同的端口。
例如:
-
纳管 MySQL 数据库需要开放 33060 端口。
-
纳管 PostgreSQL 数据库需要开放 54320 端口。
-
纳管 Redis 数据库需要开放 63790 端口。
-
其他数据库需要开放的端口请咨询开源群或者售后团队。
2、JumpServer 的开机重启机制是什么样的? {#heading-4}
默认情况下,系统重启之前,JumpServer 是启动的,重启之后,JumpServer 就会重新启动。
如果不需要开机自启,可在重启或关机之前执行 ./jmsctl.sh down
3、我想修改 JumpServer Docker 安装时指定容器的网段,与本地有冲突? {#heading-5}
修改 Docker 安装时容器的网段信息,修改文件位于:/opt/jumpserver/config/config.txt。
具体配置可参考:https://kb.fit2cloud.com/?p=163
4、从官网下载 JumpServer 客户端,安装之后没有图标,也没有快捷方式,如何使用? {#heading-6}
JumpServer 客户端只要安装过程不出错,就是安装成功了。安装成功可以在控制面板的程序中找到。
客户端的使用,主要是会在数据库、Linux、Windows 等进行连接时调用,例如 Linux 连接时的客户端方式、Windows 连接时的 RDP 方式、数据库连接时的客户端方式。
5、我使用 Docker 安装 JumpServer 时,提前在本机(服务器)中安装了 Docker ,但在连接外部服务器时,总是连接不到数据库,但我的数据库连接又没有问题? {#heading-7}
此问题与 Docker 服务本身有关,Docker 启动时会自动添加防火墙规则,如果没有添加或者这中途修改了宿主机网络的环境,都会影响容器与外部的连接。
解决方法:此时可选择重启 Docker 服务,刷新防火墙与 Docker 网络。
二、系统设置类 {#heading-8}
1、我的 JumpServer 已经运行一段时间了,我想把录像存储至外部,有哪些方法? {#heading-9}
目前,JumpServer 3.9.x 支持的外部录像存储包含 S3、Ceph、Swift、OSS、Azure、OBS、COS、SFTP。设置位置位于系统设置→存储设置→对象存储。切换存储不需要重启业务。切换以后,后续的录像都会存储在外部存储上,原本存储到本地服务器的录像不会自动迁移。
或者您可以选择远程挂盘到 /data/jumpserver/core/data/media/replay 目录,目录位置可以查看配置文件 config.txt 中的 VOLUME_DIR 配置目录,通过挂载远程磁盘可以有效的增加存储空间(注:操作之前需要先移走录像)。
一些关于录像存储的其他问题可参考:https://kb.fit2cloud.com/?p=61
2、我想把 JumpServer 的会话录像存储到服务器的别的目录,可以吗? {#heading-10}
目前的持久化目录默认为 /opt/jumpserver。修改可以在 config.txt 中修改,且只能修改 /opt/jumpserver 这一层目录,更细化的目录暂不可以修改。
您可以选择远程挂盘到 /data/jumpserver/core/data/media/replay 目录,目录位置可以查看配置文件 config.txt 中的 VOLUME_DIR 配置目录,通过远程挂载可以有效提升存储空间。(但操作之前建议移走录像)。
3、我的服务器不能访问公网,但是又需求同步阿里云的资产到 JumpServer,应该放开阿里云的哪个网站的访问权限? {#heading-11}
JumpServer 调用阿里云的 AK/SK,但阿里云的 AK/SK 是没有地址段的,阿里云的产品大多都是以固定的域名形式对外提供服务,例如:RAM 服务的接入地址为 https://ram.aliyuncs.com ,这样后端 IP 无论怎么变化,对外提供的服务域名是固定的,不会影响用户使用;当我们的程序主动去调用 AK/SK 的时候,就是主动去访问阿里云的 AK/SK,阿里云认为用户应该去限制谁能访问 AK/SK,而不是反过来限制。
4、在创建命令过滤规则时,发现使用 ^mysql.* -p.* 正则表达式会出现 -p 后面加任何东西会被匹配到,但不加就不会被匹配到。 {#heading-12}
答:将正则表达式换成 ^mysql.* -p.* 。因为在此种情况下 * 是匹配零次或多次 + 是匹配一次或多次
三、用户登录类 {#heading-13}
1、web 登录时,Jumpserver 报错,"连接 websocket 失败"。 {#heading-14}
在 JumpServer V3.9.x 版本中,可以使用 docker 命令查看组件状态:docker ps -a 或者 ./jmstcl.sh status 也可以通过系统页面直接查看组件状态,具体位置在 "系统设置"→"组件设置"→"组件监控"。通过组件监控页面可以查看各个组件是否正常运行。
如果组件运行正常,可以查看 JumpServer 前面是否设置有 SLB 或者 nginx 反向代理。可参考:https://docs.jumpserver.org/zh/v3/installation/proxy/#1-nginx-ssl
2、Web 登录时,出现错误提示" server error occur,contact administrator "。 {#heading-15}
分析:
一般启用了外部的身份认证系统时会出现该报错,如 LDAP,OpenID 单点登录。可能的原因有,LDAP 服务连接失败,OpenID 认证连接失败。
排查:
-
查看 jumpserver.log,查找相应报错;
-
在Web 页面查看是否拥有同名的邮箱地址。
3、如何禁止"用户只通过 JumpServer 登录一次,下载服务器私钥或自己的公钥到服务器上"。 {#heading-16}
-
可以根据网络做策略,只允许堡垒机的 IP 进行登录。
-
在 V3.9.x 版本中,可以通过系统设置→安全设置→登录限制→IP登录限制来对登录堡垒机的 IP 范围进行限定。
四、资产配置类 {#heading-17}
1、授权规则创建后无效是为什么? {#heading-18}
-
检查本机( JumpServer )部署的时间是否与显示时间相符。
-
检查容器时间是否与真实时间相符
-
检查授权时间是否包含在目前时间内
五、资产连接类 {#heading-19}
1、登录资产时显示"没有系统用户"? {#heading-20}
账号与密码都没有错误的情况下,重点排查是不是资产协议和系统用户协议不匹配以及资产授权过程中系统用户的选择是否正确。
2、 Redis 使用外部客户端(例如:RDM )进行连接,但 Redis5 以及之前版本不支持用户名,导致RDM连接时连接不到 Redis 数据库。 {#heading-21}
2.22 版本确实新增了 Redis 客户端进行连接。但用户名以及密码填写与正常填写有些差异。具体如下图:
六、原理问题 {#heading-22}
1、我的 JumpServer 传输文件老是很慢,我想了解一下 JumpServer 文件上传的速度是受什么限制? {#heading-23}
JumpServer 文件上传的速度取决于本地客户端到堡垒机 JumpServer 的带宽。
2、我想了解一下文件上传的原理? {#heading-24}
-
Windows 资产文件上传是先将文件上传到堡垒机再上传到资产。
-
Linux 资产上传文件时直接上传到资产。
-
Windows 资产和 Linux 资产上传文件的大小均受 config.txt 中的" CLIENT_MAX_BODY_SIZE=4096m "的限制,默认为 4G。
3、本地文件播放的时候,怎么判断是 Linux 会话还是 Windows 会话? {#heading-25}
Windows 会话的后缀一般为 replay,Linux 会话以及 MySQL、MongoDB 等会话的后缀为 cast 。
4、V3.x 版本中,创建资产时 Redis 和 Redis6+ 有什么区别? {#heading-26}
在创建资产时,针对 Reidis 和 Redis6+ 分别有不同的资产类型选项供用户直接选取,如下:
针对 Redis6+ 系统默认会开启用户认证配置。