Jumpserver RDP协议和SSH协议资产连接错误排查思路
1、RDP 协议资产连接说明
RDP 协议资产连接错误排查思路
(1). 如果白屏 检查nginx配置文件的guacamole设置ip是否正确, 检查终端管理的gua状态是否在线 (2). 如果显示没有权限 是你 终端管理里 guacamole 状态为红色或者没有注册成功 (3). 如果显示未知问题 可能是你的资产填写的端口不对, 或者授权的系统用户的协议不是rdp (4). 提示无法连接服务器 一般情况下是登录的系统账户不正确或者防火墙设置有误, 资产的信息填写不正确也会报这个错误 (5). 提示网络问题无法连接或者超时, 请检查网络连接并重试, 或联系管理员 一般情况下网络有问题
- 检查终端是否在线
# 如果终端不在线, 请检查 guacamole 的 BOOTSTRAP_TOKEN 是否与 jumpserver 一致, 如果不一致请修改后重启 $ cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN $ env | grep BOOTSTRAP_TOKEN $ /etc/init.d/guacd stop $ sh /config/tomcat8/bin/shutdown.sh $ rm -rf /config/guacamole/keys/* $ /etc/init.d/guacd start $ sh /config/tomcat8/bin/startup.sh # docker 部署请直接删除容器后重建, 记得一定要先在 终端管理 删除不在线的组件 $ docker stop jms_guacamole $ docker rm jms_guacamole # http://<Jumpserver_url> 指向 jumpserver 的服务url, 如 http://192.168.244.144:8080 # BOOTSTRAP_TOKEN 为 Jumpserver/config.yml 里面的 BOOTSTRAP_TOKEN $ docker run --name jms_guacamole -d -p 8081:8081 -e JUMPSERVER_SERVER=http://<Jumpserver_url> -e BOOTSTRAP_TOKEN=xxxxxx jumpserver/jms_guacamole:1.4.8 # 正常运行后到Jumpserver 会话管理-终端管理 里面查看 gua 的状态是否为绿色(等待大概5s后刷新页面)
- 登录要连接的windows资产, 检查远程设置和防火墙设置
# Windows 7/2008 勾选 允许运行任意版本远程桌面的计算机连接(较不安全)(L) # Windows 8/10/2012 只勾选 允许远程连接到此计算机(L), 其他选项请取消勾选 # Windows防火墙-高级设置-入站规则 把远程桌面开头的选项 右键-启用规则 # Windows 7/2008 启用 远程桌面(TCP-In) # Windows 8/10/2012 启用 远程桌面-用户模式(TCP-In)
- 登录要连接的windows资产, 检查用户和IP信息(Windows目前还不支持推送, 所以必须使用资产上面已存在的用户进行登录)
# 注:因为 windows 暂时不支持推送, 所以必须使用资产上面已经存在的账户进行登录, 如 administrator 账户
- 创建Windows资产管理用户(如果是域资产, 格式是uesr@domain.com)
# 不带域的用户直接输入用户名即可, 如 administrator # 域用户的用户名格式为 user@domain.com, 如 administrator@jumpserver.org
- 创建Windows资产系统用户(如果是域资产, 格式是uesr@domain.com, 注意协议不要选错)
# 注:因为 windows 暂时不支持推送, 所以必须使用资产上面已经存在的账户进行登录, 如 administrator 账户 # 不带域的用户直接输入用户名即可, 如 administrator # 域用户的用户名格式为 user@domain.com, 如 administrator@jumpserver.org # 如果想让用户登录资产时自己输入资产的账户密码, 可以点击系统用户的名称 点击清除认证信息 # 此处必须输入能正确登录 windows 资产的 账户密码 # 如不确实是不是因为密码或者账户信息错误导致的无法登录, 可以使用手动登录功能(在系统用户处设置)
- 创建Windows资产(注意端口不要填错)
# Windows 7/8/2008/2012 "系统平台"选择 "Windows" # Windows 10/2016 "系统平台"选择 "Windows(2016)"
- 创建授权规则
# 先定位到 windows 的资产, 然后授权, 如果资产用户密码不一致, 请不要直接在节点上授权
- 使用web terminal登录(如果登录报错, 检查防火墙的设置, 可以参考FAQ)
- Windows 资产文件上传和下载
# 直接拖拽文件到 windows 窗口即可, 文件上传后在 Guacamole RDP上的 G 目录查看 # 下载在 luna 页面, 按 ctrl+alt+shift, 选择文件下载即可
2、SSH 协议资产连接说明
SSH 协议资产连接错误排查思路
(1). 检查管理用户的权限是否正确, 权限需要与root权限一致 (2). 检查资产的防火墙策略, 可以在资产上面新建个用户, 尝试用此用户在jumpserver服务器上进行ssh连接 (3). 检查资产的ssh策略, 确保可以被jumpserver应用访问
- 检查终端是否在线
# 如果不在线请检查 coco 的 BOOTSTRAP_TOKEN 是否与 jumpserver 一致, 如果不一致请修改后重启 # 在 终端管理 删除不在线的组件 $ cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN $ cat /opt/coco/config.yml | grep BOOTSTRAP_TOKEN $ cd /opt/coco && ./cocod stop $ rm /opt/coco/data/keys/.access_key # coco, 如果你是按文档安装的, key应该在这里, 如果不存在, 直接下一步 $ ./cocod start -d # docker 部署请直接删除容器后重建, 记得一定要先在 终端管理 删除不在线的组件 $ docker stop jms_coco $ docker rm jms_coco # http://<Jumpserver_url> 指向 jumpserver 的服务url, 如 http://192.168.244.144:8080 # BOOTSTRAP_TOKEN 为 Jumpserver/config.yml 里面的 BOOTSTRAP_TOKEN $ docker run --name jms_coco -d -p 2222:2222 -p 5000:5000 -e CORE_HOST=http://<Jumpserver_url> -e BOOTSTRAP_TOKEN=xxxxxx jumpserver/jms_coco:1.4.8 # 正常运行后到Jumpserver 会话管理-终端管理 里面查看 coco 的状态是否为绿色
- 访问 luna 界面不显示资产信息
# 确定已经授权资产给当前登录用户 # 确定 Jumpserver 的版本与 luna 的版本一致, 如不一致请参考升级文档进行处理 # Jumpserver 版本可在 jumpserver页面右下角 看到 # Luna 版本可在 luna页面左下角 看到 # 注:更新后请清理浏览器缓存后再访问
- 访问 Linux 资产无任何提示
# 请参考第一条检查终端是否在线 # 检查 coco 的 ws 端口(默认 5000) # 检查 nginx 配置的 socket.io 设置是否有误 # 正常部署的 coco 组件请使用如下命令 $ cd /opt/coco $ source /opt/py3/bin/activate $ ./cocod stop $ ps -ef | grep cocod | awk '{print $2}' | xargs kill -9 $ ./cocod start # docker 容器部署的 coco 组件请检查防火墙是否无误, 重启容器即可 $ docker restart jms_coco
- 登录资产提示 Authentication failed
# 请检查推送 或 系统用户 是否正确, 可以把系统用户设置成手动登录测试 # 在 资产管理-系统用户 下, 点击相应的 系统用户名称 可以看到 系统用户详情, 右边可以测试
- 测试可连接性 及 更新硬件信息
# 注意不要拦截窗口
- 管理用户 测试可连接性
# 注意不要拦截窗口
- 系统用户 推送 测试资产可连接性
# 注意不要拦截窗口
- ssh 使用key 登录资产提示 所选的用户密钥未在远程主机上注册
# 这里是信息填写错误, ip端口应该填coco服务器的ip, 端口应该填coco服务的ssh端口(默认2222)
- 清理celery产生的数据(无法正常推送及连接资产, 一直显示........等可以使用, 请确定字符集是zh_CN.UTF-8)
$ source /opt/py3/bin/activate $ cd /opt/jumpserver/apps $ celery -A ops purge -f # 如果任然异常, 手动结束所有jumpserver进程, 然后kill掉未能正常结束的jumpserver相关进程, 在重新启动jumpserver即可
- 连接测试常见错误
# 提示 Authentication failure # 一般都是资产的管理用户不正确 # 提示Failed to connect to the host via ssh: ssh_exchange_identification: read: Connection reset by peer\r\n # 一般是资产的 ssh 或者 防火墙 做了限制, 无法连接资产(资产信息填错也可能会报这个错误) # 检查防火墙设置以及 /etc/hosts.allow /etc/hosts.deny # 提示 "MODULE FAILURE", "module_stdout":"/bin/sh: 1: /usr/bin/python: not found\r\n", "module_stderr":"Shared connection to xx.xx.xx.xx closed.\r\n" # 一般是资产 python 未安装或者 python 异常