官网地址:JumpServer – 开源堡垒机 – 官网

在线电话:400-052-0755

技术支持:JumpServer 技术咨询


1 概述

本篇文章主要说明使用JumpServer堡垒机时遇到的各种小问题,这些可能是操作不当、系统环境、资产环境等各类原因导致的。本文划分了几个篇章,对常见问题进行整理总结,希望能对使用者快速定位、处理问题提供帮助。

2 前端页面

2.1 登陆堡垒机

2.1.1 设置你的浏览器支持cookie

问题现象:

登陆堡垒机时页面提示“设置你的浏览器支持cookie”。

问题原因:

页面缓存问题。

解决方案:

清空缓存,重新打开浏览器,地址栏只填域名不加后缀,重新进入页面再次填写账号&Password即可。

2.1.2 IP已被锁定

问题现象:

登陆堡垒机时页面提示“IP已被锁定”。

问题原因:

系统管理员设置了登陆黑名单,由于某些原因你的IP属于黑名单里的,一般通过互联网登陆时会出现这种问题。

解决方案:

联系系统管理员打开,将你的IP添加进。

2.1.3 server error occur,contact administrator

问题现象:

登陆堡垒机时页面提示“server error occur,contact administrator”。

问题原因:

一般启用了外部的身份认证系统时会出现该报错,如 LDAP、OpenID等。可能的原因有,LDAP 服务连接失败,OpenID 认证连接失败。也可能跟数据库有关。

解决方案:

后台查看 jumpserver.log 根据报错原因进行处理。

常见报错有无法连接到认证端,该用户的邮箱与其他用户相同。

2.1.4 虚拟 MFA 验证码错误

问题现象:

登陆堡垒机时页面提示“虚拟 MFA 验证码错误,或者服务器端时间不对,您还可以尝试 6 次(账号将被临时锁定 30 分钟)”。

问题原因:

一般是验证码输入错误,或者JumpServer服务器时间不对导致的。

解决方案:

确认验证码输入正确,去后台检查系统时间,使用 ntpdate -u ntp.api.bz 重新同步时间,或者用 date -s “20140225 20:16:00” 直接改成正确的时间。

2.2 日常使用

2.2.1 连接WebSocket失败

问题现象:

页面提示“连接WebSocket失败”。

问题原因:

这个问题有两种情况,如果不影响使用,资产连接也正常,重启服务就可以。如果资产连接时也报类似的错误那就是 lb 没有支持 websocket 长连接,或者防火墙设备拦截导致的。打开 F12 检查 ws:// 开头的请求,这是 WebSocket 相关的,它的状态码正常是101,其他状态码会导致该问题。

解决方案:

不影响使用,重启服务就可以恢复。

资产连接受到影响,检查 lb 参考“​​https://docs.jumpserver.org/zh/master/admin-guide/proxy/#2-nginx”,如果有负载设备测试绕过该设备看登陆看是否正常,使用4层负载不会出现该问题,如果有类似​​WAF 的防火墙设备,检查是否出现了拦截,或者关闭 WAF 看是否会正常。

2.2.2 Request failed with status code 502

问题现象:

页面提示“Request failed with status code 502”。

问题原因:

这种报错一般是 core 组件异常导致的,常见的原因是磁盘空间满。

解决方案:

去后台查看 jumpserver.log 有具体的报错原因,处理异常点后需重启 JumpServer。

2.2.3 此操作需要验证您的 MFA

问题现象:

执行查看或导出Password 操作时,页面提示“此操作需要验证您的MFA”。

问题原因:

出于安全考虑,执行涉及查看系统用户Password 的操作时要验证 MFA,如果该用户没有配置多因子认证就会出现这个提示。

解决方案:

右上角点击进入账号信息页面,设置多因子认证。如果觉得麻烦还可以修改 config.txt 文件,添加下面参数,重启生效,但不建议这样。

#查看或导出Password 时认证 MFA,true 需要,false不需要

SECURITY_VIEW_AUTH_NEED_MFA=false

2.2.4 站内信提示组件异常

问题现象:

对于管理员,看到站内信里提醒“终端健康状况检查警告”或“终端离线”。

问题原因:

这些说明堡垒机的组件出现异常,甚至会影响使用。当组件的资源(CPU、内存、磁盘空间)使用率过高时会有健康状况警告,这是系统资源不够用的表现。如果是终端离线,则是组件出现异常或连接不到core容器。

解决方案:

说明:社区版有 Celery、Core、KoKo、Lion 和 Magnus 共5个组件,企业版另外增加 OmniDB 和 Razor 两个组件。

去检查组件状态,如果 CPU、内存和磁盘使用率高则需要扩容。如果组件状态为离线,则将离线的组件删除,然后检查数量是否正确,如果少了就去后台重启该组件,命令:docker restart 容器名。

2.2.5 无法提交或删除配置

问题现象:
配置好某些资源后点提交没有反映,或无法删除某些配置信息。
问题原因:
这种情况是被 WAF 之类的防火墙设备拦截了。
解决方案:
打开 F12 检查 API 相关的请求是否异常,尤其是没有返回状态码的,大概率是被拦截了,联系负责网络或安全的同事进行排查处理。

2.2.6 点击邮件内的链接访问不到堡垒机

问题现象:

忘记Password 或申请工单时 JumpServer 会给相关人发送邮件,点开邮件链接登陆的地址不是 JumpServer 的地址而是http://localhost:8080。

问题原因:

没有修改里当前站点的 URL 导致的。

解决方案:

联系管理,打开将 改为登陆 JumpServer 的实际地址并提交。完成后需重新发送邮件。

2.3 资产维护

2.3.1 测试资产连接性报错

问题现象1:

问题现象2:

问题原因:

现象1的原因是没有给该资产配特权用户,或者虽然配了特权用户,但创建特权用户时忘记配Password 。

现象2的原因是特权用户的Password 不对。

解决方案:

在资产详情检查是否配置了特权用户,如果没有则点更新添加后再重试。进入koko容器(命令:docker exec -it jms_koko bash)使用 ssh 命令测试是否可以正常登陆到该资产。如果正常,在账号列表找到特权用户查看Password 是否正确,不正确可以在本页Password 。

2.3.2 测试资产连接性报错-资产没有ssh协议

问题现象:

问题原因:

这个提示资产的没有配置 ssh 的协议,经常出现在 Windows 的系统上。

解决方案:

更新资产在添加 ssh 的协议。

2.3.3 测试资产连接性报错-无法创建 ~/.ansible 目录

问题现象:

问题原因:

这个提示要创建 ~/.ansible/tmp/ansible-tmp-*** 目录。有两种可能,一是没有这个目录的权限或者磁盘空间满导致创建不出来,第二种这是个 Windows 资产但是系统平台写的是 Linux。这里要说明下,Linux 平台用的是 python 而 Windows 平台用的是 PowerShell 做的连接性测试。

解决方案:

Linux 资产需检查该目录是否有权限或磁盘空间,可根据提示通过手动创建测试。Windows 资产检查系统平台是否正确。

2.3.4 定时任务不执行

问题现象:
配置的定时改密、定时同步资产等定时任务不执行。
问题原因:
定时任务是由 celery 组件执行的,如果任务不执行是由于该组件异常导致。
解决方案:
登陆堡垒机后台,执行 docker exec -it jms_celery ps -ef 命令检查是否存在僵尸进程,如果有则重启该组件,命令 docker restart jms_celery。

3 Web 终端

3.1 连接资产

3.1.1 复用连接并提示改密

问题现象:

连接资产时提示“复用SSH连接”,并且Password 没有到期也提示改密。

问题原因:

复用了之前连接这个资产的连接,出现了异常。

解决方案:

修改 config.txt 文件,添加下面参数,不复用 SSH 连接,重启生效。

#是否复用同一用户的 SSH 连接,true 复用,false 不复用

REUSE_CONNECTION=false

3.1.2 没有系统用户

问题现象:

连接资产时提示“没有系统用户”。

问题原因:

这是有资产授权,但是没有系统用户,或系统用户和资产不匹配。

解决方案:

检查资产授权规则里,资产和系统用户的协议是否一致。

3.1.3 504 Gateway Time-out

问题现象:

Web 终端连接资产时报错“504 Gateway Time-out”。

问题原因:

504状态码是网关超时,这说明后台组件出异常了。

解决方案:

登陆堡垒机后台,重启组件,命令:docker restart 容器名。或者整体重启,命令:jmsctl restart。

3.2 文件管理

3.2.1.无法上传

问题现象:

文件管理,上传文件时报错“无法上传”。

问题原因:

常见的原因是磁盘空间满,或者系统用户没有该目录的权限。

解决方案:

系统用户点能看到的配置。登陆资产,检查该系统用户对这个路径是否有权限,同时检查磁盘空间是否满。