Commit 5440d7c2 authored by wojiushixiaobai's avatar wojiushixiaobai

修改文档

parent 7e2dd583
......@@ -57,7 +57,7 @@
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /socket.io/ {
......
......@@ -172,11 +172,11 @@
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location / {
......
......@@ -3,35 +3,17 @@ FAQ
.. toctree::
:maxdepth: 1
Sftp使用说明 <faq_sftp.rst>
安装过程常见问题 <faq_install.rst>
Linux 资产连接说明 <faq_linux.rst>
Windows 资产连接说明 <faq_windows.rst>
Windows sftp使用说明 <faq_sftp.rst>
二次认证(Google Auth)入口说明 <faq_googleauth.rst>
常见问题
其他问题
~~~~~~~~~~~~~~~~~~~~~
1. Windows 资产连接错误排查思路
::
(1). 如果白屏 检查nginx配置文件的guacamole设置ip是否正确,检查终端管理的gua状态是否在线,检查资产设置及系统用户是否正确;
(2). 如果显示没有权限 可能是你在 终端管理里没有接受 guacamole的注册,请接受一下,然后重启guacamole
(3). 如果显示未知问题 可能是你的资产填写的端口不对,或者授权的系统用户的协议不是rdp
(4). 提示无法连接服务器,请联系管理员或查看日志 一般情况下是登录的系统账户不正确,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
(5). 提示网络问题无法连接或者超时,请检查网络连接并重试,或联系管理员 一般情况下是防火墙设置不正确,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
2. Linux 资产连接错误排查思路
::
(1). 检查管理用户的权限是否正确,权限需要与root权限一致。
(2). 检查资产的防火墙策略,可以在资产上面新建个用户,尝试用此用户进行ssh连接。
(3). 检查资产的python,确定版本不小于2.6,不高于3.x。
(4). 检查资产的ssh策略,确保可以被jumpserver应用访问。
3. 用户、系统用户、管理用户的关系
1. 用户、系统用户、管理用户的关系
::
......@@ -39,55 +21,12 @@ FAQ
系统用户:使用来登录到服务器的用户,如 web, dba, root等,配合sudo实现权限管控
管理用户:是服务器上已存在的特权用户,Ansible用来获取硬件信息, 如 root, 或者其它拥有 sudo NOPASSWD: ALL权限的用户
(1). 这里解释一下系统用户里面的sudo,比如有个系统用户的权限是这样的:
# 这里解释一下系统用户里面的sudo,比如有个系统用户的权限是这样的:
Sudo: /usr/bin/git,/usr/bin/php,/bin/cat,/bin/more,/bin/less,/usr/bin/head,/usr/bin/tail
意思是允许这个系统用户免密码执行 git、PHP、cat、more、less、head、tail 命令,只要关联了这个系统用户的用户在相应的资产都可以执行这些命令。
4. coco或guacamole注册失败,或重新注册方法
::
(1). 在 Jumpserver后台 会话管理 - 终端管理 删掉它们
(2). coco 重新注册(注意虚拟环境 source /opt/py3/bin/activate)
$ cd /opt/coco && ./cocod stop
$ rm /opt/coco/keys/.access_key # coco, 如果你是按文档安装的,key应该在这里,如果不存在key文件直接下一步
$ ./cocod start -d # 正常运行后到Jumpserver 会话管理-终端管理 里面接受coco注册
(3). guacamole重新注册
$ docker stop jms_guacamole # 如果名称更改过或者不对,请使用docker ps 查询容器的 CONTAINER ID ,然后docker stop <CONTAINER ID>
$ docker rm jms_guacamole # 如果名称更改过或者不对,请使用docker ps -a 查询容器的 CONTAINER ID ,然后docker rm <CONTAINER ID>
$ rm /opt/guacamole/key/* # guacamole, 如果你是按文档安装的,key应该在这里
$ systemctl stop docker
$ systemctl start docker
$ docker run --name jms_guacamole -d \
-p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \
-e JUMPSERVER_KEY_DIR=/config/guacamole/key \
-e JUMPSERVER_SERVER=http://<填写jumpserver的url地址> \
registry.jumpserver.org/public/guacamole:latest
# 如果registry.jumpserver.org/public/guacamole:latest下载很慢,可以换成jumpserver/guacamole:latest
# 正常运行后到Jumpserver 会话管理-终端管理 里面接受gua注册
$ docker restart jms_guacamole # 如果接受注册后显示不在线,重启gua就好了
5. Ansible报错汇总
::
(1). 资产是centos5.x Python版本 2.4,
$ yum -y install python26
$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/bin/python2.6 /usr/bin/python
# 修改 /bin/yum 使用原来的python
$ sed -i 's@/usr/bin/python$@/usr/bin/python2.4@g' /bin/yum
6. input/output error, 通常jumpserver所在服务器字符集问题
2. input/output error, 通常jumpserver所在服务器字符集问题
::
......@@ -107,74 +46,33 @@ FAQ
如果任然报input/output error,尝试执行 yum update 后重启服务器(仅测试中参考使用,实际运营服务器请谨慎操作)
7. 运行 sh make_migrations.sh 报错,
CommandError: Conflicting migrations detected; multiple ... django_celery_beat ...
这是由于 django-celery-beat老版本有bug引起的
3. luna 无法访问
::
$ rm -rf /opt/py3/lib/python3.6/site-packages/django_celery_beat/migrations/
$ pip uninstall django-celery-beat
$ pip install django-celery-beat
8. 连接测试常见错误
::
(1). to use the 'ssh' connection type with passwords, you mast install the sshpass program
# Centos
$ yum -y install sshpass
# Ubuntu
$ apt-get -y install sshpass
# Luna 打开网页提示403 Forbidden错误,一般是nginx配置文件的luna路径不正确或者luna下载了源代码,请重新下载编译好的代码
注意,在 coco 服务器上面安装完成后需要重启服务。
# Luna 打开网页提示502 Bad Gateway错误,一般是selinux和防火墙的问题,请根据nginx的errorlog来检查
(2). Authentication failure
# 一般都是资产的管理用户不正确
(3). Failed to connect to the host via ssh: ssh_exchange_identification: read: Connection reset by peer\r\n
# 一般是资产的 ssh 或者 防火墙 做了限制,无法连接资产(资产信息填错也可能会报这个错误)
(4). "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 异常
9. 其他问题
4. 录像问题
::
(1). 邮箱设置 新建用户无法收到邮件请更新 jumpserver 版本到最新版本
(2). 收到的邮件链接地址是 localhost 可以到 系统设置-基本设置 里面修改 url 地址
(3). coco 提示[service ERROR] Failed register terminal jzsas exist already
# 参考上面的coco重新注册方法
# 默认录像存储位置在jumpserver/data/media 可以通过映射或者软连接方式来使用其他目录
(4). guacamole 不在线
# 尝试重启一下guacamole,然后再看看,如果任然不在线,参考上面gua重新注册的方法
$ docker restart jms_guacamole # 如果容器的名称不对,请用docker ps查询
(5). LDAP设置 测试通过,但是登录失败需要检查用户的ou是否正确,确认使用了映射的用户属性进行登陆
(6). Luna 打开网页提示403 Forbidden错误,一般是nginx配置文件的luna路径不正确或者luna下载了源代码,请重新下载编译好的代码
(7). Luna 打开网页提示502 Bad Gateway错误,一般是selinux和防火墙的问题,请根据nginx的errorlog来检查
(8). 默认录像存储位置在jumpserver/data/media
(9). 录像存储在 oss,Jumpserver 系统设置-终端设置 录像存储
# 录像存储在 oss,Jumpserver 系统设置-终端设置 录像存储
{"default": {"TYPE": "server"}, "cn-north-1": {"TYPE": "s3", "BUCKET": "jumpserver", "ACCESS_KEY": "", "SECRET_KEY": "", "REGION": "cn-north-1"}, "ali-oss": {"TYPE": "oss", "BUCKET": "jumpserver", "ACCESS_KEY": "", "SECRET_KEY": "", "ENDPOINT": "http://oss-cn-hangzhou.aliyuncs.com"}}
命令记录保存到 elastic
# 命令记录保存到 elastic
{"default": {"TYPE":"server"}, "ali-es": {"TYPE": "elasticsearch", "HOSTS": ["http://elastic:changeme@localhost:9200"]}}
修改后,需要修改在Jumpserver 会话管理-终端管理 修改terminal的配置 录像存储 命令记录
# 修改后,需要修改在Jumpserver 会话管理-终端管理 修改terminal的配置 录像存储 命令记录
5. 在终端修改管理员密码及新建超级用户
::
(10). 管理密码忘记了或者重置管理员密码
# 管理密码忘记了或者重置管理员密码
$ source /opt/py3/bin/activate
$ cd /opt/jumpserver/apps
$ python manage.py changepassword <user_name>
......@@ -182,7 +80,10 @@ FAQ
# 新建超级用户的命令如下命令
$ python manage.py createsuperuser --username=user --email=user@domain.com
(11). 清理celery产生的数据(无法正常推送及连接资产,一直显示........等可以使用,请确定字符集是zh_CN.UTF-8)
6. 清理celery产生的数据(无法正常推送及连接资产,一直显示........等可以使用,请确定字符集是zh_CN.UTF-8)
::
# 检测 /etc/locale.conf 是否是 LANG="zh_CN.UTF-8"
$ cat /etc/locale.conf
# 如果不是,请修改,注,本例只是以CentOS 7举例,其他的linux请更换路径
......@@ -199,18 +100,26 @@ FAQ
$ cd /opt/jumpserver
$ ./jms restart celery
(12). 修改登录超时时间(默认 10 秒)
# 如果任然异常,手动结束所有jumpserver进程,然后kill掉未能正常结束的进程,在重新启动jumpserver即可
7. 修改登录超时时间(默认 10 秒)
::
$ vim /opt/coco/coco/proxy.py
$ vim /opt/coco/coco/connection.py
# 把 TIMEOUT = 10 修改成你想要的数字,两个文件都需要修改,单位为:秒
# TIMEOUT = 10 表示超时时间为10秒,可以自行修改。
(13). 升级提示 Table 'xxx' already exists(可用以下命令检查,如果显示内容不一致则无法升级)
# cd /opt/jumpserver/apps
# python manage.py makemigrations
# python manage.py migrate --fake
# find . | grep migrations | grep apps | grep -v 'pyc' | grep -v '__init__'
8. 升级提示 Table 'xxx' already exists(可用以下命令检查,如果显示内容不一致则无法升级)
::
$ cd /opt/jumpserver/apps
$ python manage.py makemigrations
$ python manage.py migrate --fake
$ find . | grep migrations | grep apps | grep -v 'pyc' | grep -v '__init__'
# 把这里的内容和下面数据库查询的内容对比
# mysql -uroot
......@@ -219,7 +128,10 @@ FAQ
# 如果对比结果不一样则无法升级
> quit;
(14). 设置浏览器过期
9. 设置浏览器过期
::
$ vim /opt/jumpserver/apps/jumpserver/settings.py
# 找到如下行,注释(可参考 django 设置 session 过期时间),修改或者新增你要的设置即可
......
......@@ -2,3 +2,8 @@
--------------------------------------------------------
.. image:: _static/img/faq_googleauth.jpg
::
# 关闭也是在这里,点击此处的禁用即可
# 部分安卓手机无法使用 Google Auth ,可以使用第三方工具(如Microsoft Authenticator 、身份宝等)
安装过程中常见的问题
----------------------------
1. git clone 提示 ssl 错误
::
# 一般是由于时间不同步,或者网络有问题导致的
# 可以尝试下载 releases 包
2. pip install 提示 ssl 错误
::
# 参考第一条解决
3. pip install 提示 download 错误
::
# 一般是由于网络不好,导致下载文件失败,重新执行命令即可
# 如果多次重试均无效,请更换网络环境
4. bash make_migrations.sh 时报错 from config import config as CONFIG File "/opt/jumpserver/config.py", line 38
::
# 这是由于 config.py 里面的内容格式不对,请参考安装文档的说明,把提示的内容与上一行对其即可
5. bash make_migrations.sh 时报错 Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
::
# 一般是由于 py3 环境未载入
$ source /opt/py3/bin/activate
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
(py3) [root@localhost py3]
# 如果已经在 py3 虚拟环境下,任然报 Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
$ cd /opt/jumpserver/requirements
$ pip install -r requirements.txt
# 然后重新执行 bash make_migrations.sh
6. sh make_migrations.sh 报错 CommandError: Conflicting migrations detected; multiple ... django_celery_beat ...
::
# 这是由于 django-celery-beat老版本有bug引起的
$ rm -rf /opt/py3/lib/python3.6/site-packages/django_celery_beat/migrations/
$ pip uninstall django-celery-beat
$ pip install django-celery-beat
7. 执行./jms start all 后一直卡在 beat: Waking up in 1.00 minute.
::
# 如果没有error提示进程无法启动,那么这是正常现象
# 如果不想在前台启动,可以使用 ./jms start all -d 在后台启动
8. 启动 jumpserver 后,访问 8080 端口页面显示不正常
::
# 这是因为你在 config.py 里面设置了 DEBUG = False
# 跟着教程继续操作,后面搭建 nginx 代理即可正常访问
9. 执行 ./cocod start 后提示 No module named 'jms'
::
# 一般是由于 py3 环境未载入
$ source /opt/py3/bin/activate
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
(py3) [root@localhost py3]
# 如果已经在 py3 虚拟环境下
$ cd /opt/coco/requirements
$ pip install -r requirements.txt
# 然后重新执行 ./jms start 即可
10. 执行 ./cocod start 后提示 Failed register terminal jzsas exist already
::
# 这是由于 coco 注册未成功造成的,需要重新注册 (能正常访问 jumpserver 页面后再处理)
# 到 Jumpserver后台 会话管理-终端管理 删掉 coco 的注册
$ cd /opt/coco && ./cocod stop
$ rm /opt/coco/keys/.access_key # coco, 如果你是按文档安装的,key应该在这里,如果不存在key文件直接下一步
$ ./cocod start -d # 正常运行后到Jumpserver 会话管理-终端管理 里面接受coco注册
11. 执行 ./cocod start 后提示 Failed register terminal unknow: xxxx
::
# 这是因为当前系统的 hostname 有 coco 不支持的字符,需要手动指定 coco 的 NAME
$ cd /opt/coco/
$ vim conf.py
# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME = "localhost"
NAME = "coco"
# 保存后重新执行 ./cocod start 即可
12. 通过 nginx 代理的端口访问 jumpserver 页面显示不正常
::
# 这是因为你没有按照教程进行安装,修改了安装目录,需要在 nginx 的配置文件里面修改资源路径
$ vim /etc/nginx/nginx.conf
...
server {
listen 80; # 代理端口,以后将通过此端口进行访问,不再通过8080端口
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/; # 如果coco安装在别的服务器,请填写它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /guacamole/ {
proxy_pass http://localhost:8081/; # 如果guacamole安装在别的服务器,请填写它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log off;
client_max_body_size 100m; # Windows 文件上传大小限制
}
location / {
proxy_pass http://localhost:8080; # 如果jumpserver安装在别的服务器,请填写它的ip
}
}
...
13. 访问 luna 页面提示 Luna是单独部署的一个程序,你需要部署luna,coco,配置nginx做url分发...
::
# 请通过 nginx 代理的端口访问 jumpserver 页面,不要再直接访问 8080 端口
Linux 资产连接说明
----------------------------
Linux 资产连接错误排查思路
::
(1). 检查管理用户的权限是否正确,权限需要与root权限一致
(2). 检查资产的防火墙策略,可以在资产上面新建个用户,尝试用此用户在jumpserver服务器上进行ssh连接
(3). 检查资产的python,确定版本不小于2.6,不高于3.x
(4). 检查资产的ssh策略,确保可以被jumpserver应用访问
# 案例参考. 资产是centos5.x Python版本 2.4,
$ yum -y install python26
$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/bin/python2.6 /usr/bin/python
# 修改 /bin/yum 使用原来的python
$ sed -i 's@/usr/bin/python$@/usr/bin/python2.4@g' /bin/yum
1. 检查终端是否在线
::
......@@ -101,5 +119,27 @@ Linux 资产连接说明
.. image:: _static/img/faq_linux_09.jpg
.. image:: _static/img/faq_linux_10.jpg
10. 连接测试常见错误
::
# 提示 to use the 'ssh' connection type with passwords, you mast install the sshpass program
# Centos
$ yum -y install sshpass
# Ubuntu
$ apt-get -y install sshpass
# 注意,在 coco 服务器上面安装完成后需要重启服务。
# 提示 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 异常
其他问题可参考 `FAQ <faq.html>`_
Windows sftp使用说明
sftp 使用说明
-------------------------------------------------------
在Windows上使用 sftp 工具传输文件到 Linux 系统,默认的上传目录在 /tmp ,其他目录没有权限
.. image:: _static/img/faq_sftp_01.jpg
::
# 连接成功后,可以看到当前拥有权限的资产,打开资产,然后选择系统用户,即可到资产的 /tmp 目录
$ sftp -P2222 admin@192.168.244.144
$ cd 你的资产
$ cd 你的系统用户
# 此处即是当前资产的 /tmp 目录
Windows 资产连接说明
----------------------------
Windows 资产连接错误排查思路
::
(1). 如果白屏 检查nginx配置文件的guacamole设置ip是否正确,检查终端管理的gua状态是否在线,检查资产设置及系统用户是否正确;
(2). 如果显示没有权限 可能是你在 终端管理里没有接受 guacamole的注册,请接受一下
(3). 如果显示未知问题 可能是你的资产填写的端口不对,或者授权的系统用户的协议不是rdp
(4). 提示无法连接服务器,请联系管理员或查看日志 一般情况下是登录的系统账户不正确或者防火墙设置有误,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
(5). 提示网络问题无法连接或者超时,请检查网络连接并重试,或联系管理员 一般情况下网络有问题,可以从Windows的日志查看信息(资产的信息填写不正确也会报这个错误)
1. 检查终端是否在线
::
......
......@@ -319,16 +319,16 @@ CentOS 7 安装文档
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location /socket.io/ {
......
......@@ -425,16 +425,16 @@ Luna 已改为纯前端,需要 Nginx 来运行访问
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location /socket.io/ {
......
一步一步安装(CentOS)
--------------------------
本文档旨在帮助用户了解各组件之间的关系
如果已经接触过之前的版本,可参考 `进阶安装文档 <quickinstall.html>`_
环境
~~~~~~~
......@@ -11,9 +14,8 @@
::
# CentOS 7
$ setenforce 0 # 可以设置配置文件永久关闭
$ systemctl stop iptables.service
$ systemctl stop firewalld.service
$ setenforce 0 # 临时关闭,重启后失效
$ systemctl stop firewalld.service # 临时关闭,重启后失效
# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
$ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
......@@ -21,8 +23,8 @@
$ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
# CentOS6
$ setenforce 0
$ service iptables stop
$ setenforce 0 # 临时关闭,重启后失效
$ service iptables stop # 临时关闭,重启后失效
# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
$ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
......@@ -110,9 +112,12 @@ Pip 加速设置请参考 <https://segmentfault.com/a/1190000011875306>
::
$ yum -y install redis
$ systemctl enable redis
$ systemctl start redis
# centos6
$ yum -y install redis
$ chkconfig redis on
$ service redis start
......@@ -465,16 +470,16 @@ Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/term
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
alias /opt/luna/; # luna 路径,如果修改安装目录,此处需要修改
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 录像位置,如果修改安装目录,此处需要修改
}
location /static/ {
root /opt/jumpserver/data/;
root /opt/jumpserver/data/; # 静态资源,如果修改安装目录,此处需要修改
}
location /socket.io/ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment