常见问题 FAQ

假想控 edited this page Nov 18, 2016 · 86 revisions
适用于版本:v0.3.1-2
  1. 查看日志

    tail -f /opt/jumpserver/logs/jumpserver.log

    注:里面包含了详细的日志,包含了账号和密码,一切完成后,请将 jumpserver.conf中的log改为 warning等

  2. 推送系统用户失败,Authentication failed,报错如下图

    webterminal

    在系统用户列表,点击系统用户名称,查看系统用户详情,把鼠标放到失败按钮上或点击,会看到失败的原因,如下图

    webterminal

    原因:管理用户不对或密码不对

    解决:查检你的管理帐号设置的正确,管理帐号是后端服务器真实存在的,再重新推送。如下图

    webterminal

  3. 安装时或加用户发送邮件发送失败

    webterminal

    webterminal

    原因:出现mail,smtp等错误通常都是由于发送邮件导致的

    解决:请尝试不同提供商的邮件设置

    webterminal

    原因:该邮箱并不存在

    解决:使用真实邮箱

    webterminal

    原因:ssl没有启用

    解决:vim /opt/jumpserver/jumpserver.conf 中 email_use_tls = False 将False改为True

  4. service启动失败

    请进入jumpserver目录,手动运行

    ./service.sh restart

    注:如果启动失败端口是否被占用,默认端口是8000,web访问要加上:8000,可以vim jumpserver.conf 8000修改为80

  5. Permission denied /home/test/.python-eggs,PYTHON_EGG_CACHE

    webterminal

    原因:没有权限创建

    解决:vim /etc/profile

    export PYTHON_EGG_CACHE=/tmp/.python-eggs

    保存后执行命令:

    source /etc/profile

  6. mpz_powm_sec

    webterminal

    原因:系统自带 gmp 库版本太低,需要升级到 gmp 5.x

    解决:

    1.gmp-6.1.0.tar.bz2 下载最新版并解压

    tar xjvf gmp-6.1.0.tar.bz2

    2.编译安装

    cd gmp-6.1.0

    ./configure

    make

    make install

    3.加入 ldconfig

    echo "/usr/local/lib" >> /etc/ld.so.conf.d/gmp.conf

    ldconfig

    4.查看确认是否已经加入

    strings /etc/ld.so.cache|grep gmp

    5.重新安装 pycrypto

    pip uninstall pycrypto

    pip install pycrypto

  7. Crypto,getStrongprime,HAVE_DECL_MPZ_POWM_SEC等错误

    webterminal

    webterminal

    很常见的错误,通常是由 pycrypto的版本问题,请卸载重新安装

    pip uninstall pycrypto

    rm -rf /usr/lib64/python2.6/site-packages/Crypto/

    rm -rf /usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg(大部分不执行这条就能解决)

    pip install pycrypto==2.4.1

  8. 用户,系统用户,管理用户对比

    为了简单的描述这个问题,我们举例来说明, 用户 小明(公司员工), 系统用户 dev(后端服务器上存在的账号),

    授权时将 系统用户dev在某台服务器授权给小明时,这是小明登陆后面的服务器,其实是登陆了服务器上的dev用户,

    类似 [xiaoming@localhost ~]$ ssh dev@somehost 。管理账号是为了帮助大家推送系统用户用的,

    在jumpserver上新建系统用户并推送,其实相当于 ssh 管理账户@somehost -e 'useradd 系统账号',

    当然,我们是用ansible完成这样的操作,流程图如下图

    webterminal

  9. web登录,当前帐号是admin 账号,想WebTerminal,报没有授权系统用户如下图

    webterminal

    原因:admin超级管理员也是需要在授权规则里添加

    解决:授权规则里添加 admin,如下图

    webterminal

  10. 报错 django.db.utils.OperationalError: (1045, Access denied for user jumpserver 127.0.0.1 (using password: YES))

    原因: 通常是配置信息不对

    解决:先查检 mysql -u jumpserver -p -h 127.0.0.1 正常登录 ,再查检一下jumpserver.conf 配置文件中[db]部分信息是否正确

  11. 安装完成后,使用admin登陆,输入正确密码点击登陆还是停留在登陆页面,也不提示用户名密码失败。若估计输入错误的用户名密码就会提示密码错误

    原因:IE浏览器不兼容,兼容问题

    解决:换成Chrome、火狐、360要用极速模式

  12. ./install.py 报错安装Jumpserver依赖的python的库失败

    webterminal

    原因:可能被墙了

    解决:pip install -r requirements.txt 多尝试几次

    或者指定源安装

    pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  13. web terminal 登陆失败

    webterminal

    原因:系统默认只允许tty登录

    解决:开启允许后台运行:vim /etc/sudoers 需注释掉 #Default requiretty

    原因:资产不是网络设备而是主机,推送系统用户 使用了模拟推送,此时[]里面是空的

    解决:选择使用密钥,然后在推送系统用户

    原因:推送系统用户,选择使用密钥推送,此时[]里面有主机名,而终端登陆客户端没问题

    解决:先清除浏览器的缓存,在尝试 web terminal登陆,如果不行在删除 /opt/jumpserver/keys/user目录下的key,在次尝试 web terminal登陆

    原因:客户端sshd_config 中 AuthorizedKeysFile .ssh/abc/authorized_keys 路径修改过

    解决:AuthorizedKeysFile .ssh/authorized_keys 修改回默认路径,service sshd restart 重启服务

    webterminal

    原因:python manage.py runserver 10.10.100.176 8888,这样启动JMS而tornado并没有启动

    解决: ./service.sh restart 启动JMS

    webterminal

    原因:客户端sshd_config 中 AuthorizedKeysFile 指定了其它用户的公钥

    解决:AuthorizedKeysFile .ssh/authorized_keys 修改回默认路径,service sshd restart 重启服务

    webterminal

    原因:添加系统用户设置密码时,用了特殊字符如@、中文等,从jumpserver.log 中可以看到role_pass是串编码

    解决:设置密码不要用特殊字符如@、中文等

    webterminal

    原因:资产的主机名称太长

    解决:资产的主机名称小于54个字符,git pull 到最新代码,已限制53个字符

    原因:资产的主机名称有中文

    解决:修改资产的主机名称不要有中文

    webterminal

    webterminal

    webterminal

    原因:登录JMS本机

    解决:不要登录JMS本机(不能管理本机)

    原因:客户端之前安装过0.3.0 版本或者JMS之前安装是0.3.0版本

    解决:cd /etc/profile.d/ && rm -rf zzjumpserver.sh

    webterminal

    webterminal

    webterminal

    原因:资产的主机名称包含"/"字符

    解决:资产的主机名称不要有"/"字符,最好用"_"下划线

    原因:连接登陆时间跨天的问题

    解决:可以通过创建计划任务,定时修改日志权限

    vim date.sh 内容如下

    mkdir /opt/jumpserver/logs/tty/$(date +%Y%m%d)

    chmod -R 777 /opt/jumpserver/logs/tty/$(date +%Y%m%d)

    crontab -e 添加计划任务,每天0时1分创建或者修改目录

    1 0 * * * /root/date.sh

    crontab -l 查看计划任务

    1 0 * * * /root/date.sh

  14. ServerError: 端口可能不对 Connect SSH Socket Port Error, Please Correct it.

    原因:后端服务器是否没有启动,关机状态。

  15. 报错如图

    webterminal

    解决:pip install paramiko --upgrade

  16. 推送系统用户时,报错:visudo:command not found

    webterminal

    原因:centos 系统版本 < 6.0会有这个问题

    解决:ln -s /usr/sbin/visudo /usr/bin/visudo 加了个软连接 可以了

  17. 报错UnicodeEncodeError如图

    webterminal

    原因:主机名不支持用中文

    解决:主机名不要用中文

  18. ssh密钥登录不上,如图

    webterminal

    原因:172.19.16.230是客户端,不能直接登录客户端

    解决:35054用户应该先登录JMS在跳转登录172.19.16.230客户端

    原因:客户端iptablse或者SElinux 阻止了ssh登陆

    解决:修改iptablse规则、SElinux关掉

    原因:/权限不对,如图

    webterminal

    解决:修改/权限为555

    webterminal

    原因:进行二次开发集成了域,而JMS的/etc/passwd下并没有这个用户

  19. jumpserver如何更新代码

    cd /opt/jumpserver

    git pull

    webterminal

  20. 推送系统用户失败:错误提示是/var/tmp/scl5N8iRw: line 8: -k: command not found

    webterminal

    原因:客户端安装了软件(如devtoolset)会修改PATH 导致sudo命令的路径不是/usr/bin/sudo which sudo查看sudo命令的路径是否为/usr/bin/sudo

    解决:可以弄个软链接 或者 把路径改回去 或者 卸载软件

  21. 输入g没有显示组

    webterminal

    原因:授权规则 方式中 没有选择资产组 授权

    解决:授权规则 方式中 选择资产组 授权 输入g 才会显示

  22. 请输入正确ID

    webterminal

    原因:知道登录资产ID,直接输入ID

    解决:应该先输入p再输入ID

  23. Error: ansible requires a json module, none found!

    webterminal

    原因:client 端python版本过低,python < 2.6

    解决:要不升级python要不就安装python-simplejson

  24. 推送系统用户报错cp:/etc/sudoers: NO such file or directory ..

    webterminal

    原因:FreeBSD 默认在/usr/local/etc/sudoers

    解决:ln -s /usr/local/etc/sudoers /etc/sudoers

  25. 推送系统用户报错如图 LANG=C:command not found

    webterminal

    原因:FreeBSD 系统默认shell 为csh

    解决:安装bash

    cd /usr/ports/shells/bash

    make install clean

    chsh -s /usr/local/bin/bash

    退出:

    exit

    在登录执行:

    echo $SHELL // 显示/usr/local/bin/bash说明更改成功

    创建软链接:

    ln -s /usr/local/bin/bash /bin/bash

  26. SSH Error: Permission denied (publickey)

    webterminal

    原因:/etc/ssh/sshd_config 关闭ssh密码登录

    解决:PasswordAuthentication yes #不能关闭ssh密码登录

  27. 推送系统用户报错:Aborting, target useres selinux but python bindings( libselinux-python)are n't installed!

    webterminal

    原因:后端服务器开启了selinux

    解决:yum install libselinux-python -y

  28. 认证失败 Authentication Error 如下图

    webterminal

    webterminal

    原因:如果推送系统用户时有选:使用密钥,并且推送成功,keys/user目录下key问题

    解决:cd /opt/jumpserver/keys/user 然后删除所有key或以登录失败用户名开头的所有key,再尝试登录

    原因:客户端的sshd_config 中 UsePAM no

    解决:改为 UsePAM yes

    原因:客户端的.ssh/authorized_keys 文件被人删掉

    解决:从其他的正常客户端重新考一份

  29. 推送系统用户报错:FAILED: key cannot be used for signing

    webterminal

    原因:批量导入资产:其中管理账号(使用默认),而默认设置并没有设置

    解决:设置-->默认设置

  30. 报错如下图

    webterminal

    webterminal

    原因:后端服务器没有启动

    解决:启动后端服务器

  31. git clone 失败

    webterminal

    原因:系统时间没对上

    解决:设置一下系统时间

  32. 安装报错: gcc:error: /usr/lib/rpm/redhat/redhat-hardened-cc1: NO such file or directory

    webterminal

    原因:依赖包没有装全

    解决:yum -y install rpm-build

  33. 报错如图

    webterminal

    原因:文件找不到

    解决:先查看 ll /usr/lib64/libssl* 然后需要创建相应的软链接

  34. 使用拥有sudo权限的用户做为管理用户而不使用root

    解决:

    客户端Ubuntu:

    useradd user -r -m -s /bin/bash

    passwd user

    vim /etc/sudoers 添加 user ALL=(ALL) NOPASSWD:ALL

    webterminal

    客户端CentOS:

    useradd user

    passwd user

    vim /etc/sudoers 添加 user ALL=(ALL) NOPASSWD:ALL

    webterminal

  35. 报错: failed to open a SFTP connection,如图

    webterminal

    原因:客户端sshd_config 中SFTP默认路径信息不对

    cat /etc/ssh/sshd_conf

    Subsystem sftp /usr/libexec/sftp-server

    ll /usr/libexec/sftp-server 是否会列出该文件信息,可用于判断路径对不对

    解决:一种/usr/libexec/sftp-server路是对的

    ln -s /usr/libexec/openssh/sftp-serve /usr/libexec/sftp-server 创建软连接

    vim /etc/ssh/sshd_conf

    Subsystem sftp /usr/libexec/openssh/sftp-serve

    另一种/usr/libexec/sftp-server路是不对,正确路径是/usr/libexec/openssh/sftp-serve

    vim /etc/ssh/sshd_conf

    Subsystem sftp /usr/libexec/openssh/sftp-serve

    注:修改后保存 service sshd restart

  36. 报错: failed to open a SFTP connection ((1, 'Administratively prohibited'))

    webterminal

    原因:客户端sshd_config中启用了

    MaxAuthTries 4

    MaxSessions 2

    解决:用#号注释掉保存, service sshd restart

    jms 服务重启 ./service.sh restart

  37. 报错如图

    webterminal

    webterminal

    原因:在python交互式下导入ssl报错,说明系统没有安装_ssl module

    解决:yum install openssl openssl-devel

    解决:Ubuntu: apt-get install libssl-dev

    注:如果是编译安装的python,安装openssl后需重新编译下

  38. ImportError: No module named cryptography.hazmat.backends

    webterminal

    解决:pip install cryptography --force-reinstall

  39. 推送系统用户失败报错如图

    webterminal

    原因:客户端默认关闭sftp

    解决:开启sftp

  40. Request Entity Too Large 上传文件请求的实体太大报错如图

    webterminal

    原因:受限于tornado框架,如果想传大文件,需要把upload代理到django

    解决:

    1.start django server

    python manage.py runserver 127.0.0.1:8000

    2.nginx.conf

    location /file/upload/ {

    proxy_pass http://127.0.0.1:8000;

    }

  41. 报错如图

    webterminal

    原因:磁盘满了

  42. 报错如图

    webterminal

    原因:客户端上给普通用户添加sudo权限作为管理帐号,添加sudo权限语法不对

    解决:添加语法请看FAQ第34条

  43. Error: Package: git-1.7.12.4-1.el5.rf.x86_64 (rpmforge)报错如图

    webterminal

    解决:

    [root@test28 install]#rpm -qa|grep rpmforge

    rpmforge-release-0.5.2-2.el6.rf.x86_64

    [root@test28 install]# rpm --erase rpmforge-release-0.5.2-2.el6.rf.x86_64

    warning: /etc/yum.repos.d/rpmforge.repo saved as /etc/yum.repos.d/rpmforge.repo.rpmsave

    [root@test28 install]# yum install git

    Setting up Install Process

    Package git-1.7.1-4.el6_7.1.x86_64 already installed and latest version

  44. 报错如图

    webterminal

    原因:没有jumpserver.conf配置文件(可能被你移动到别目录),或者[base]部分代码不对(被修改过)

    解决:cp一份回来

  45. 添加用户选发送邮件,收到邮件中的URL少了端口

    原因:JMS默认端口使用8000

    解决:修改jumpserver.conf配置

    port = 8000 修改成80 或者修改url = http://[ip|域名]:8000

    ./service.sh restart 让修改配置生效

  46. 完成JMS安装,启动失败,即便手动./service.sh restart还是启动失败

    原因:使用virtualenv环境,而service.sh中python环境会使用宿主机的

    解决:修改service.sh中python,改成pyenv中python绝对路径就行了