diff --git a/docs/distributed_02.rst b/docs/distributed_02.rst index c71f8a93134b88bbadb5378646d1e692c8fcaae5..01b5347edf1da2cd5f7651d99a3a8dacbdbee81c 100644 --- a/docs/distributed_02.rst +++ b/docs/distributed_02.rst @@ -57,7 +57,7 @@ location /luna/ { try_files $uri / /index.html; - alias /opt/luna/; + alias /opt/luna/; # luna 路径,如果修改安装目录,æ¤å¤„需è¦ä¿®æ”¹ } location /socket.io/ { diff --git a/docs/distributed_04.rst b/docs/distributed_04.rst index 3030d05a20efc4b45cd4a99bbbb53d8afdfb3d0a..a791570cde5fa5a5d6c443e5f5da11034058d62b 100644 --- a/docs/distributed_04.rst +++ b/docs/distributed_04.rst @@ -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 / { diff --git a/docs/faq.rst b/docs/faq.rst index b63efabb8e2586b63434faaf7d80ae1bab16e993..fbef7dd6da2bfe61affb73d73c685b5d693ad2e2 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -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,124 +46,97 @@ FAQ 如果任然报input/output error,å°è¯•执行 yum update åŽé‡å¯æœåŠ¡å™¨ï¼ˆä»…æµ‹è¯•ä¸å‚考使用,实际è¿è¥æœåŠ¡å™¨è¯·è°¨æ…Žæ“作) -7. è¿è¡Œ 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 - -8. 连接测试常è§é”™è¯¯ +3. luna æ— æ³•è®¿é—® :: - (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 +4. 录åƒé—®é¢˜ - # 一般都是资产的管ç†ç”¨æˆ·ä¸æ£ç¡® +:: - (3). Failed to connect to the host via ssh: ssh_exchange_identification: read: Connection reset by peer\r\n + # 默认录åƒå˜å‚¨ä½ç½®åœ¨jumpserver/data/media å¯ä»¥é€šè¿‡æ˜ å°„æˆ–è€…è½¯è¿žæŽ¥æ–¹å¼æ¥ä½¿ç”¨å…¶ä»–目录 - # 一般是资产的 ssh 或者 防ç«å¢™ åšäº†é™åˆ¶ï¼Œæ— 法连接资产(资产信æ¯å¡«é”™ä¹Ÿå¯èƒ½ä¼šæŠ¥è¿™ä¸ªé”™è¯¯ï¼‰ + # 录åƒå˜å‚¨åœ¨ 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"}} - (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" + # 命令记录ä¿å˜åˆ° elastic + {"default": {"TYPE":"server"}, "ali-es": {"TYPE": "elasticsearch", "HOSTS": ["http://elastic:changeme@localhost:9200"]}} - # 一般是资产 python 未安装或者 python 异常 + # 修改åŽï¼Œéœ€è¦ä¿®æ”¹åœ¨Jumpserver 会è¯ç®¡ç†-ç»ˆç«¯ç®¡ç† ä¿®æ”¹terminalçš„é…ç½® 录åƒå˜å‚¨ 命令记录 -9. 其他问题 +5. 在终端修改管ç†å‘˜å¯†ç åŠæ–°å»ºè¶…级用户 :: - (1). 邮箱设置 æ–°å»ºç”¨æˆ·æ— æ³•æ”¶åˆ°é‚®ä»¶è¯·æ›´æ–° jumpserver 版本到最新版本 - - (2). æ”¶åˆ°çš„é‚®ä»¶é“¾æŽ¥åœ°å€æ˜¯ localhost å¯ä»¥åˆ° 系统设置-基本设置 里é¢ä¿®æ”¹ url åœ°å€ - - (3). coco æç¤º[service ERROR] Failed register terminal jzsas exist already - # å‚考上é¢çš„coco釿–°æ³¨å†Œæ–¹æ³• + # 管ç†å¯†ç 忘记了或者é‡ç½®ç®¡ç†å‘˜å¯†ç + $ source /opt/py3/bin/activate + $ cd /opt/jumpserver/apps + $ python manage.py changepassword <user_name> - (4). guacamole ä¸åœ¨çº¿ - # å°è¯•é‡å¯ä¸€ä¸‹guacamole,然åŽå†çœ‹çœ‹ï¼Œå¦‚果任然ä¸åœ¨çº¿ï¼Œå‚考上é¢gua釿–°æ³¨å†Œçš„æ–¹æ³• - $ docker restart jms_guacamole # 如果容器的åç§°ä¸å¯¹ï¼Œè¯·ç”¨docker ps查询 + # 新建超级用户的命令如下命令 + $ python manage.py createsuperuser --username=user --email=user@domain.com - (5). LDAP设置 æµ‹è¯•é€šè¿‡ï¼Œä½†æ˜¯ç™»å½•å¤±è´¥éœ€è¦æ£€æŸ¥ç”¨æˆ·çš„ouæ˜¯å¦æ£ç¡®ï¼Œç¡®è®¤ä½¿ç”¨äº†æ˜ 射的用户属性进行登陆 +6. 清ç†celery产生的数æ®(æ— æ³•æ£å¸¸æŽ¨é€åŠè¿žæŽ¥èµ„产,一直显示........ç‰å¯ä»¥ä½¿ç”¨ï¼Œè¯·ç¡®å®šå—符集是zh_CN.UTF-8) - (6). Luna 打开网页æç¤º403 Forbidden错误,一般是nginxé…置文件的lunaè·¯å¾„ä¸æ£ç¡®æˆ–者luna下载了æºä»£ç ï¼Œè¯·é‡æ–°ä¸‹è½½ç¼–译好的代ç +:: - (7). Luna 打开网页æç¤º502 Bad Gateway错误,一般是selinux和防ç«å¢™çš„é—®é¢˜ï¼Œè¯·æ ¹æ®nginxçš„errorlogæ¥æ£€æŸ¥ + # 检测 /etc/locale.conf æ˜¯å¦æ˜¯ LANG="zh_CN.UTF-8" + $ cat /etc/locale.conf + # å¦‚æžœä¸æ˜¯ï¼Œè¯·ä¿®æ”¹ï¼Œæ³¨ï¼Œæœ¬ä¾‹åªæ˜¯ä»¥CentOS 7举例,其他的linux请更æ¢è·¯å¾„ + $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 + $ export LC_ALL=zh_CN.UTF-8 + $ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf - (8). 默认录åƒå˜å‚¨ä½ç½®åœ¨jumpserver/data/media + $ source /opt/py3/bin/activate + $ cd /opt/jumpserver/apps + $ python manage.py shell + $ from celery.task.control import discard_all + $ discard_all() + $ exit() + $ cd /opt/jumpserver + $ ./jms restart celery - (9). 录åƒå˜å‚¨åœ¨ 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"}} + # å¦‚æžœä»»ç„¶å¼‚å¸¸ï¼Œæ‰‹åŠ¨ç»“æŸæ‰€æœ‰jumpserver进程,然åŽkill掉未能æ£å¸¸ç»“æŸçš„è¿›ç¨‹ï¼Œåœ¨é‡æ–°å¯åЍjumpserverå³å¯ - 命令记录ä¿å˜åˆ° elastic - {"default": {"TYPE":"server"}, "ali-es": {"TYPE": "elasticsearch", "HOSTS": ["http://elastic:changeme@localhost:9200"]}} +7. 修改登录超时时间(默认 10 秒) - 修改åŽï¼Œéœ€è¦ä¿®æ”¹åœ¨Jumpserver 会è¯ç®¡ç†-ç»ˆç«¯ç®¡ç† ä¿®æ”¹terminalçš„é…ç½® 录åƒå˜å‚¨ 命令记录 +:: - (10). 管ç†å¯†ç 忘记了或者é‡ç½®ç®¡ç†å‘˜å¯†ç - $ source /opt/py3/bin/activate - $ cd /opt/jumpserver/apps - $ python manage.py changepassword <user_name> + $ vim /opt/coco/coco/proxy.py + $ vim /opt/coco/coco/connection.py - # 新建超级用户的命令如下命令 - $ python manage.py createsuperuser --username=user --email=user@domain.com + # 把 TIMEOUT = 10 修改æˆä½ 想è¦çš„æ•°å—,两个文件都需è¦ä¿®æ”¹ï¼Œå•ä½ä¸ºï¼šç§’ + # TIMEOUT = 10 表示超时时间为10秒,å¯ä»¥è‡ªè¡Œä¿®æ”¹ã€‚ - (11). 清ç†celery产生的数æ®(æ— æ³•æ£å¸¸æŽ¨é€åŠè¿žæŽ¥èµ„产,一直显示........ç‰å¯ä»¥ä½¿ç”¨ï¼Œè¯·ç¡®å®šå—符集是zh_CN.UTF-8) - # 检测 /etc/locale.conf æ˜¯å¦æ˜¯ LANG="zh_CN.UTF-8" - $ cat /etc/locale.conf - # å¦‚æžœä¸æ˜¯ï¼Œè¯·ä¿®æ”¹ï¼Œæ³¨ï¼Œæœ¬ä¾‹åªæ˜¯ä»¥CentOS 7举例,其他的linux请更æ¢è·¯å¾„ - $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 - $ export LC_ALL=zh_CN.UTF-8 - $ echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf +8. å‡çº§æç¤º Table 'xxx' already exists(å¯ç”¨ä»¥ä¸‹å‘½ä»¤æ£€æŸ¥ï¼Œå¦‚果显示内容ä¸ä¸€è‡´åˆ™æ— 法å‡çº§ï¼‰ - $ source /opt/py3/bin/activate - $ cd /opt/jumpserver/apps - $ python manage.py shell - $ from celery.task.control import discard_all - $ discard_all() - $ exit() - $ cd /opt/jumpserver - $ ./jms restart celery +:: - (12). 修改登录超时时间(默认 10 秒) - $ vim /opt/coco/coco/proxy.py - $ vim /opt/coco/coco/connection.py + $ cd /opt/jumpserver/apps + $ python manage.py makemigrations + $ python manage.py migrate --fake + $ find . | grep migrations | grep apps | grep -v 'pyc' | grep -v '__init__' + # æŠŠè¿™é‡Œçš„å†…å®¹å’Œä¸‹é¢æ•°æ®åº“查询的内容对比 - # 把 TIMEOUT = 10 修改æˆä½ 想è¦çš„æ•°å—,两个文件都需è¦ä¿®æ”¹ï¼Œå•ä½ä¸ºï¼šç§’ - # TIMEOUT = 10 表示超时时间为10秒,å¯ä»¥è‡ªè¡Œä¿®æ”¹ã€‚ + # mysql -uroot + > use jumpserver; + > select * from django_migrations; + # 如果对比结果ä¸ä¸€æ ·åˆ™æ— 法å‡çº§ + > quit; - (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__' - # æŠŠè¿™é‡Œçš„å†…å®¹å’Œä¸‹é¢æ•°æ®åº“查询的内容对比 +9. 设置æµè§ˆå™¨è¿‡æœŸ - # mysql -uroot - > use jumpserver; - > select * from django_migrations; - # 如果对比结果ä¸ä¸€æ ·åˆ™æ— 法å‡çº§ - > quit; +:: - (14). 设置æµè§ˆå™¨è¿‡æœŸ - $ vim /opt/jumpserver/apps/jumpserver/settings.py + $ vim /opt/jumpserver/apps/jumpserver/settings.py - # 找到如下行,注释(å¯å‚考 django 设置 session è¿‡æœŸæ—¶é—´ï¼‰ï¼Œä¿®æ”¹æˆ–è€…æ–°å¢žä½ è¦çš„设置å³å¯ - # SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600 * 24 + # 找到如下行,注释(å¯å‚考 django 设置 session è¿‡æœŸæ—¶é—´ï¼‰ï¼Œä¿®æ”¹æˆ–è€…æ–°å¢žä½ è¦çš„设置å³å¯ + # SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600 * 24 - # å¦‚ä¸‹ï¼Œè®¾ç½®å…³é—æµè§ˆå™¨ cookie 失效,则修改为 - # SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600 * 24 - SESSION_EXPIRE_AT_BROWSER_CLOSE = True + # å¦‚ä¸‹ï¼Œè®¾ç½®å…³é—æµè§ˆå™¨ cookie 失效,则修改为 + # SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600 * 24 + SESSION_EXPIRE_AT_BROWSER_CLOSE = True diff --git a/docs/faq_googleauth.rst b/docs/faq_googleauth.rst index db0aff834bef6c08f4be8d145f186777792a55ca..851a533751307f50e3475c956a852eeec032b2d8 100644 --- a/docs/faq_googleauth.rst +++ b/docs/faq_googleauth.rst @@ -2,3 +2,8 @@ -------------------------------------------------------- .. image:: _static/img/faq_googleauth.jpg + +:: + + # å…³é—也是在这里,点击æ¤å¤„çš„ç¦ç”¨å³å¯ + # éƒ¨åˆ†å®‰å“æ‰‹æœºæ— 法使用 Google Auth ,å¯ä»¥ä½¿ç”¨ç¬¬ä¸‰æ–¹å·¥å…·ï¼ˆå¦‚Microsoft Authenticator ã€èº«ä»½å®ç‰ï¼‰ diff --git a/docs/faq_install.rst b/docs/faq_install.rst new file mode 100644 index 0000000000000000000000000000000000000000..1313551a7bfb7853aee5ebc27d36a50c44d27693 --- /dev/null +++ b/docs/faq_install.rst @@ -0,0 +1,167 @@ +安装过程ä¸å¸¸è§çš„问题 +---------------------------- + +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 ç«¯å£ diff --git a/docs/faq_linux.rst b/docs/faq_linux.rst index 5dfa70d113ecbfaf3e469c4809db08b333cdfba9..b8b5ae8f72f1493506080141a888f7938f96fb88 100644 --- a/docs/faq_linux.rst +++ b/docs/faq_linux.rst @@ -1,6 +1,24 @@ 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>`_ diff --git a/docs/faq_sftp.rst b/docs/faq_sftp.rst index 35fb02c73c895ad7843caad50addf37a11e81619..b3363e95ae5f6ab8709e3165ab06934ef16206d7 100644 --- a/docs/faq_sftp.rst +++ b/docs/faq_sftp.rst @@ -1,5 +1,13 @@ -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 目录 diff --git a/docs/faq_windows.rst b/docs/faq_windows.rst index 3f3e25e77e4cbdfa445744dea691412fd76d3ff9..23102e09387dc149152c63345c3a7fd477673466 100644 --- a/docs/faq_windows.rst +++ b/docs/faq_windows.rst @@ -1,6 +1,16 @@ Windows 资产连接说明 ---------------------------- +Windows 资产连接错误排查æ€è·¯ + +:: + + (1). å¦‚æžœç™½å± æ£€æŸ¥nginxé…置文件的guacamole设置ipæ˜¯å¦æ£ç¡®ï¼Œæ£€æŸ¥ç»ˆç«¯ç®¡ç†çš„guaçŠ¶æ€æ˜¯å¦åœ¨çº¿ï¼Œæ£€æŸ¥èµ„产设置åŠç³»ç»Ÿç”¨æˆ·æ˜¯å¦æ£ç¡®ï¼› + (2). 如果显示没有æƒé™ å¯èƒ½æ˜¯ä½ 在 终端管ç†é‡Œæ²¡æœ‰æŽ¥å— guacamole的注册,请接å—一下 + (3). 如果显示未知问题 å¯èƒ½æ˜¯ä½ 的资产填写的端å£ä¸å¯¹ï¼Œæˆ–者授æƒçš„系统用户的åè®®ä¸æ˜¯rdp + (4). æç¤ºæ— 法连接æœåŠ¡å™¨ï¼Œè¯·è”系管ç†å‘˜æˆ–查看日志 ä¸€èˆ¬æƒ…å†µä¸‹æ˜¯ç™»å½•çš„ç³»ç»Ÿè´¦æˆ·ä¸æ£ç¡®æˆ–者防ç«å¢™è®¾ç½®æœ‰è¯¯ï¼Œå¯ä»¥ä»ŽWindows的日志查看信æ¯ï¼ˆèµ„产的信æ¯å¡«å†™ä¸æ£ç¡®ä¹Ÿä¼šæŠ¥è¿™ä¸ªé”™è¯¯ï¼‰ + (5). æç¤ºç½‘ç»œé—®é¢˜æ— æ³•è¿žæŽ¥æˆ–è€…è¶…æ—¶ï¼Œè¯·æ£€æŸ¥ç½‘ç»œè¿žæŽ¥å¹¶é‡è¯•,或è”系管ç†å‘˜ 一般情况下网络有问题,å¯ä»¥ä»ŽWindows的日志查看信æ¯ï¼ˆèµ„产的信æ¯å¡«å†™ä¸æ£ç¡®ä¹Ÿä¼šæŠ¥è¿™ä¸ªé”™è¯¯ï¼‰ + 1. 检查终端是å¦åœ¨çº¿ :: diff --git a/docs/setup_by_centos7.rst b/docs/setup_by_centos7.rst index 3a05e345e80f432721549810277e662415e62427..c84528dc218b89553a28068a877bfb17932ccc18 100644 --- a/docs/setup_by_centos7.rst +++ b/docs/setup_by_centos7.rst @@ -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/ { diff --git a/docs/setup_by_ubuntu.rst b/docs/setup_by_ubuntu.rst index b91b797842d74ef6f28414d19e8c9bad010cb8a7..3b48645e67204c91c67c6d79881bd4e9df23d060 100644 --- a/docs/setup_by_ubuntu.rst +++ b/docs/setup_by_ubuntu.rst @@ -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/ { diff --git a/docs/step_by_step.rst b/docs/step_by_step.rst index 8b067ff66df05ac41aec5c5d8760acfcba0eeb86..b8210909958a6962575bba58e5a30876300b4dd1 100644 --- a/docs/step_by_step.rst +++ b/docs/step_by_step.rst @@ -1,6 +1,9 @@ 一æ¥ä¸€æ¥å®‰è£…(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/ {