本篇文章主要说明使用JumpServer堡垒机时遇到的各种小问题,这些可能是操作不当、系统环境、资产环境等各类原因导致的。本文划分了几个篇章,对常见问题进行整理总结,希望能对使用者快速定位、处理问题提供帮助。
(相关资料图)
问题现象:
登陆堡垒机时页面提示“设置你的浏览器支持cookie”。
问题原因:
页面缓存问题。
解决方案:
清空缓存,重新打开浏览器,地址栏只填域名不加后缀,重新进入页面再次填写账号&Password即可。
问题现象:
登陆堡垒机时页面提示“IP已被锁定”。
问题原因:
系统管理员设置了登陆黑名单,由于某些原因你的IP属于黑名单里的,一般通过互联网登陆时会出现这种问题。
解决方案:
联系系统管理员打开<系统设置><安全设置><登录限制>,将你的IP添加进
问题现象:
登陆堡垒机时页面提示“server error occur,contact administrator”。
问题原因:
一般启用了外部的身份认证系统时会出现该报错,如 LDAP、OpenID等。可能的原因有,LDAP 服务连接失败,OpenID 认证连接失败。也可能跟数据库有关。
解决方案:
后台查看 jumpserver.log 根据报错原因进行处理。
常见报错有无法连接到认证端,该用户的邮箱与其他用户相同。
问题现象:
登陆堡垒机时页面提示“虚拟 MFA 验证码错误,或者服务器端时间不对,您还可以尝试 6 次(账号将被临时锁定 30 分钟)”。
问题原因:
一般是验证码输入错误,或者JumpServer服务器时间不对导致的。
解决方案:
确认验证码输入正确,去后台检查系统时间,使用 ntpdate -u ntp.api.bz 重新同步时间,或者用 date -s “20140225 20:16:00” 直接改成正确的时间。
问题现象:
页面提示“连接WebSocket失败”。
问题原因:
这个问题有两种情况,如果不影响使用,资产连接也正常,重启服务就可以。如果资产连接时也报类似的错误那就是 lb 没有支持 websocket 长连接,或者防火墙设备拦截导致的。打开 F12 检查 ws:// 开头的请求,这是 WebSocket 相关的,它的状态码正常是101,其他状态码会导致该问题。
解决方案:
不影响使用,重启服务就可以恢复。
资产连接受到影响,检查 lb 参考“https://docs.jumpserver.org/zh/master/admin-guide/proxy/#2-nginx”,如果有负载设备测试绕过该设备看登陆看是否正常,使用4层负载不会出现该问题,如果有类似WAF 的防火墙设备,检查是否出现了拦截,或者关闭 WAF 看是否会正常。
问题现象:
页面提示“Request failed with status code 502”。
问题原因:
这种报错一般是 core 组件异常导致的,常见的原因是磁盘空间满。
解决方案:
去后台查看 jumpserver.log 有具体的报错原因,处理异常点后需重启 JumpServer。
问题现象:
执行查看或导出Password 操作时,页面提示“此操作需要验证您的MFA”。
问题原因:
出于安全考虑,执行涉及查看系统用户Password 的操作时要验证 MFA,如果该用户没有配置多因子认证就会出现这个提示。
解决方案:
右上角点击<个人信息>进入账号信息页面,设置多因子认证。如果觉得麻烦还可以修改 config.txt 文件,添加下面参数,重启生效,但不建议这样。
#查看或导出Password 时认证 MFA,true 需要,false不需要
SECURITY_VIEW_AUTH_NEED_MFA=false
问题现象:
对于管理员,看到站内信里提醒“终端健康状况检查警告”或“终端离线”。
问题原因:
这些说明堡垒机的组件出现异常,甚至会影响使用。当组件的资源(CPU、内存、磁盘空间)使用率过高时会有健康状况警告,这是系统资源不够用的表现。如果是终端离线,则是组件出现异常或连接不到core容器。
解决方案:
说明:社区版有 Celery、Core、KoKo、Lion 和 Magnus 共5个组件,企业版另外增加 OmniDB 和 Razor 两个组件。
去<系统设置><终端设置><终端管理>检查组件状态,如果 CPU、内存和磁盘使用率高则需要扩容。如果组件状态为离线,则将离线的组件删除,然后检查数量是否正确,如果少了就去后台重启该组件,命令:docker restart 容器名。
问题现象:配置好某些资源后点提交没有反映,或无法删除某些配置信息。问题原因:这种情况是被 WAF 之类的防火墙设备拦截了。解决方案:打开 F12 检查 API 相关的请求是否异常,尤其是没有返回状态码的,大概率是被拦截了,联系负责网络或安全的同事进行排查处理。
问题现象:
忘记Password 或申请工单时 JumpServer 会给相关人发送邮件,点开邮件链接登陆的地址不是 JumpServer 的地址而是http://localhost:8080。
问题原因:
没有修改<基本设置>里当前站点的 URL 导致的。
解决方案:
联系管理,打开<系统设置><基本信息>将<当前站点URL> 改为登陆 JumpServer 的实际地址并提交。完成后需重新发送邮件。
问题现象1:
问题现象2:
问题原因:
现象1的原因是没有给该资产配特权用户,或者虽然配了特权用户,但创建特权用户时忘记配Password 。
现象2的原因是特权用户的Password 不对。
解决方案:
在资产详情检查是否配置了特权用户,如果没有则点更新添加后再重试。进入koko容器(命令:docker exec -it jms_koko bash)使用 ssh 命令测试是否可以正常登陆到该资产。如果正常,在账号列表找到特权用户查看Password 是否正确,不正确可以在本页<更多><更新>Password 。
问题现象:
问题原因:
这个提示资产的<协议组>没有配置 ssh 的协议,经常出现在 Windows 的系统上。
解决方案:
更新资产在<协议组>添加 ssh 的协议。
问题现象:
问题原因:
这个提示要创建 ~/.ansible/tmp/ansible-tmp-*** 目录。有两种可能,一是没有这个目录的权限或者磁盘空间满导致创建不出来,第二种这是个 Windows 资产但是系统平台写的是 Linux。这里要说明下,Linux 平台用的是 python 而 Windows 平台用的是 PowerShell 做的连接性测试。
解决方案:
Linux 资产需检查该目录是否有权限或磁盘空间,可根据提示通过手动创建测试。Windows 资产检查系统平台是否正确。
问题现象:配置的定时改密、定时同步资产等定时任务不执行。问题原因:定时任务是由 celery 组件执行的,如果任务不执行是由于该组件异常导致。解决方案:登陆堡垒机后台,执行 docker exec -it jms_celery ps -ef 命令检查是否存在僵尸进程,如果有则重启该组件,命令 docker restart jms_celery。
问题现象:
连接资产时提示“复用SSH连接”,并且Password 没有到期也提示改密。
问题原因:
复用了之前连接这个资产的连接,出现了异常。
解决方案:
修改 config.txt 文件,添加下面参数,不复用 SSH 连接,重启生效。
#是否复用同一用户的 SSH 连接,true 复用,false 不复用
REUSE_CONNECTION=false
问题现象:
连接资产时提示“没有系统用户”。
问题原因:
这是有资产授权,但是没有系统用户,或系统用户和资产不匹配。
解决方案:
检查资产授权规则里,资产和系统用户的协议是否一致。
问题现象:
Web 终端连接资产时报错“504 Gateway Time-out”。
问题原因:
504状态码是网关超时,这说明后台组件出异常了。
解决方案:
登陆堡垒机后台,重启组件,命令:docker restart 容器名。或者整体重启,命令:jmsctl restart。
问题现象:
文件管理,上传文件时报错“无法上传”。
问题原因:
常见的原因是磁盘空间满,或者系统用户没有该目录的权限。
解决方案:
系统用户点<更新>能看到