Ubuntu怎么安装Jumpserver
这篇“Ubuntu怎么安装Jumpserver”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ubuntu怎么安装Jumpserver”文章吧。
成都创新互联专注于镇海企业网站建设,响应式网站设计,电子商务商城网站建设。镇海网站建设公司,为镇海等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
环境
系统: Ubuntu 16.04
IP: 192.168.244.144
数据库:MySQL 版本大于等于 5.6 mariadb 版本大于等于 5.5.6
测试推荐硬件
CPU: 64位双核处理器
内存: 4G DDR3
一. 准备 Python3 和 Python 虚拟环境
1.1 安装依赖包
$apt-getupdate&&apt-get-yupgrade $apt-get-yinstallwgetgcclibffi-devgitlibmysqlclient-dev #修改字符集,否则可能报input/outputerror的问题,因为日志里打印了中文 $apt-get-yinstalllanguage-pack-zh-hans $exportLC_ALL=zh_CN.UTF-8 $echo'LANG="zh_CN.UTF-8"'>/etc/default/locale
1.2 安装 Python3.6
$add-apt-repositoryppa:jonathonf/python-3.6-y $apt-getupdate $apt-get-yinstallpython3.6python3.6-devpython3.6-venv
1.3 建立 Python 虚拟环境
为了不扰乱原来的环境我们来使用 Python 虚拟环境
$cd/opt $python3.6-mvenvpy3 $source/opt/py3/bin/activate #看到下面的提示符代表成功,以后运行Jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行 (py3)[root@localhostpy3]
1.4 自动载入 Python 虚拟环境配置
此项仅为懒癌晚期的人员使用,防止运行 Jumpserver 时忘记载入 Python 虚拟环境导致程序无法运行。使用autoenv
$cd/opt $gitclonehttps://github.com/kennethreitz/autoenv.git $echo'source/opt/autoenv/activate.sh'>>~/.bashrc $source~/.bashrc
二. 安装 Jumpserver
2.1 下载或 Clone 项目
项目提交较多 git clone 时较大,你可以选择去 Github 项目页面直接下载zip包。
$cd/opt/ $gitclonehttps://github.com/jumpserver/jumpserver.git $echo"source/opt/py3/bin/activate">/opt/jumpserver/.env#进入jumpserver目录时将自动载入python虚拟环境 #首次进入jumpserver文件夹会有提示,按y即可 #Areyousureyouwanttoallowthis?(y/N)y
2.2 安装依赖包
$cd/opt/jumpserver/requirements $apt-get-yinstall$(catdeb_requirements.txt)#如果没有任何报错请继续
2.3 安装 Python 库依赖
$pipinstall--upgradepipsetuptools $pipinstall-rrequirements.txt
2.4 安装 redis, Jumpserver 使用 Redis 做 cache 和 celery broke
$apt-get-yinstallredis-server
2.5 安装 MySQL
本教程使用 Mysql 作为数据库,如果不使用 Mysql 可以跳过相关 Mysql 安装和配置
$apt-get-yinstallmysql-server#安装过程中注意输入数据库root账户的密码
2.6 创建数据库 Jumpserver 并授权
$DB_PASSWORD=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c24`#生成随机数据库密码 $echo-e"\033[31m你的数据库密码是$DB_PASSWORD\033[0m" $mysql-uroot-p-e"createdatabasejumpserverdefaultcharset'utf8';grantallonjumpserver.*to'jumpserver'@'127.0.0.1'identifiedby'$DB_PASSWORD';flushprivileges;"
2.7 修改 Jumpserver 配置文件
$cd/opt/jumpserver $cpconfig_example.ymlconfig.yml $SECRET_KEY=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c50`#生成随机SECRET_KEY $BOOTSTRAP_TOKEN=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c16`#生成随机BOOTSTRAP_TOKEN $sed-i"s/SECRET_KEY:/SECRET_KEY:$SECRET_KEY/g"/opt/jumpserver/config.yml $sed-i"s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN:$BOOTSTRAP_TOKEN/g"/opt/jumpserver/config.yml $sed-i"s/#DEBUG:true/DEBUG:false/g"/opt/jumpserver/config.yml $sed-i"s/#LOG_LEVEL:DEBUG/LOG_LEVEL:ERROR/g"/opt/jumpserver/config.yml $sed-i"s/#SESSION_EXPIRE_AT_BROWSER_CLOSE:false/SESSION_EXPIRE_AT_BROWSER_CLOSE:true/g"/opt/jumpserver/config.yml $sed-i"s/DB_PASSWORD:/DB_PASSWORD:$DB_PASSWORD/g"/opt/jumpserver/config.yml $echo-e"\033[31m你的SECRET_KEY是$SECRET_KEY\033[0m" $echo-e"\033[31m你的BOOTSTRAP_TOKEN是$BOOTSTRAP_TOKEN\033[0m" $vimconfig.yml#确认内容有没有错误
#SECURITYWARNING:keepthesecretkeyusedinproductionsecret! #加密秘钥生产环境中请修改为随机字符串,请勿外泄 SECRET_KEY: #SECURITYWARNING:keepthebootstraptokenusedinproductionsecret! #预共享Tokencoco和guacamole用来注册服务账号,不在使用原来的注册接受机制 BOOTSTRAP_TOKEN: #Developmentenvopenthis,whenerroroccurdisplaythefullprocesstrack,Productiondisableit #DEBUG模式开启DEBUG后遇到错误时可以看到更多日志 DEBUG:false #DEBUG,INFO,WARNING,ERROR,CRITICALcanset.Seehttps://docs.djangoproject.com/en/1.10/topics/logging/ #日志级别 LOG_LEVEL:ERROR #LOG_DIR: #Sessionexpirationsetting,Default24hour,Alsosetexpiredononbrowserclose #浏览器Session过期时间,默认24小时,也可以设置浏览器关闭则过期 #SESSION_COOKIE_AGE:86400 SESSION_EXPIRE_AT_BROWSER_CLOSE:true #Databasesetting,Supportsqlite3,mysql,postgres.... #数据库设置 #Seehttps://docs.djangoproject.com/en/1.10/ref/settings/#databases #SQLitesetting: #使用单文件sqlite数据库 #DB_ENGINE:sqlite3 #DB_NAME: #MySQLorpostgressettinglike: #使用Mysql作为数据库 DB_ENGINE:mysql DB_HOST:127.0.0.1 DB_PORT:3306 DB_USER:jumpserver DB_PASSWORD: DB_NAME:jumpserver #WhenDjangostartitwillbindthishostandport #./manage.pyrunserver127.0.0.1:8080 #运行时绑定端口 HTTP_BIND_HOST:0.0.0.0 HTTP_LISTEN_PORT:8080 #UseRedisasbrokerforceleryandwebsocket #Redis配置 REDIS_HOST:127.0.0.1 REDIS_PORT:6379 #REDIS_PASSWORD: #REDIS_DB_CELERY:3 #REDIS_DB_CACHE:4 #UseOpenIDauthorization #使用OpenID来进行认证设置 #BASE_SITE_URL:http://localhost:8080 #AUTH_OPENID:false#TrueorFalse #AUTH_OPENID_SERVER_URL:https://openid-auth-server.com/ #AUTH_OPENID_REALM_NAME:realm-name #AUTH_OPENID_CLIENT_ID:client-id #AUTH_OPENID_CLIENT_SECRET:client-secret #OTPsettings #OTP/MFA配置 #OTP_VALID_WINDOW:0 #OTP_ISSUER_NAME:Jumpserver
2.8 运行 Jumpserver
$cd/opt/jumpserver $./jmsstartall#后台运行使用-d参数./jmsstartall-d #新版本更新了运行脚本,使用方式./jmsstart|stop|status|restartall后台运行请添加-d参数
运行不报错,请继续往下操作
三. 安装 SSH Server 和 WebSocket Server: Coco
3.1 下载或 Clone 项目
新开一个终端
$cd/opt $source/opt/py3/bin/activate $gitclonehttps://github.com/jumpserver/coco.git&&cdcoco&&gitcheckoutmaster $echo"source/opt/py3/bin/activate">/opt/coco/.env#进入coco目录时将自动载入python虚拟环境 #首次进入coco文件夹会有提示,按y即可 #Areyousureyouwanttoallowthis?(y/N)y
3.2 安装依赖
$cd/opt/coco/requirements $pipinstall-rrequirements.txt
3.3 查看配置文件并运行
$cd/opt/coco $mkdirkeyslogs $cpconfig_example.ymlconfig.yml $vimconfig.yml
#项目名称,会用来向Jumpserver注册,识别而已,不能重复 #NAME:{{Hostname}} #Jumpserver项目的url,api请求注册会使用 CORE_HOST:http://127.0.0.1:8080 #BootstrapToken,预共享秘钥,用来注册coco使用的serviceaccount和terminal #请和jumpserver配置文件中保持一致,注册完成后可以删除 BOOTSTRAP_TOKEN:#启动时绑定的ip,默认0.0.0.0 #BIND_HOST:0.0.0.0 #监听的SSH端口号,默认2222 #SSHD_PORT:2222 #监听的HTTP/WS端口号,默认5000 #HTTPD_PORT:5000 #项目使用的ACCESSKEY,默认会注册,并保存到ACCESS_KEY_STORE中, #如果有需求,可以写到配置文件中,格式access_key_id:access_key_secret #ACCESS_KEY:null #ACCESSKEY保存的地址,默认注册后会保存到该文件中 #ACCESS_KEY_STORE:keys/.access_key #加密密钥 #SECRET_KEY:null #设置日志级别[DEBUG,INFO,WARN,ERROR,FATAL,CRITICAL] #LOG_LEVEL:INFO LOG_LEVEL:ERROR #日志存放的目录 #LOG_DIR:logs #SSH白名单 #ALLOW_SSH_USER:all #SSH黑名单,如果用户同时在白名单和黑名单,黑名单优先生效 #BLOCK_SSH_USER: #- #和Jumpserver保持心跳时间间隔 #HEARTBEAT_INTERVAL:5 #Admin的名字,出问题会提示给用户 #ADMINS:'' #SSH连接超时时间(default15seconds) #SSH_TIMEOUT:15 #语言[en,zh] #LANGUAGE_CODE:zh #SFTP的根目录,可选/tmp,Home其他自定义目录 #SFTP_ROOT:/tmp #SFTP是否显示隐藏文件 #SFTP_SHOW_HIDDEN_FILE:false
$./cocodstart#后台运行使用-d参数./cocodstart-d #新版本更新了运行脚本,使用方式./cocodstart|stop|status|restart后台运行请添加-d参数
四. 安装 Web Terminal 前端: Luna
Luna 已改为纯前端,需要 Nginx 来运行访问
访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,不需要编译
4.1 解压 Luna
$cd/opt/ $wgethttps://github.com/jumpserver/luna/releases/download/1.4.7/luna.tar.gz $tarxfluna.tar.gz $chown-Rroot:rootluna
五. 安装 Windows 支持组件(如果不需要管理 windows 资产,可以直接跳过这一步)
5.1 安装依赖
$apt-get-yinstalllibtoolautoconf $apt-get-yinstalllibcairo2-devlibjpeg-turbo8-devlibpng12-devlibossp-uuid-dev $apt-get-yinstalllibavcodec-devlibavutil-devlibswscale-devlibfreerdp-devlibpango1.0-devlibssh2-1-devlibtelnet-devlibvncserver-devlibpulse-devlibssl-devlibvorbis-devlibwebp-devghostscript $ln-s/usr/local/lib/freerdp/usr/lib/x86_64-linux-gnu/freerdp $apt-get-yinstalldefault-jredefault-jdk
5.2 编译安装 guacamole 服务
$cd/opt $gitclonehttps://github.com/jumpserver/docker-guacamole.git $cddocker-guacamole $tarxfguacamole-server-0.9.14.tar.gz $cdguacamole-server-0.9.14 $autoreconf-fi $./configure--with-init-dir=/etc/init.d $make&&makeinstall $cd.. $rm-rfguacamole-server-0.9.14 $ldconfig $mkdir-p/config/guacamole/config/guacamole/lib/config/guacamole/extensions#创建guacamole目录 $ln-sf/opt/docker-guacamole/guacamole-auth-jumpserver-0.9.14.jar/config/guacamole/extensions/guacamole-auth-jumpserver-0.9.14.jar $ln-sf/opt/docker-guacamole/root/app/guacamole/guacamole.properties/config/guacamole/guacamole.properties#guacamole配置文件 $cd/config $wgethttps://github.com/ibuler/ssh-forward/releases/download/v0.0.5/linux-amd64.tar.gz $tarxflinux-amd64.tar.gz-C/bin/ $chmod+x/bin/ssh-forward
5.3 配置 Tomcat
$cd/config $wgethttp://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz $tarxfapache-tomcat-8.5.38.tar.gz $rm-rfapache-tomcat-8.5.38.tar.gz $mvapache-tomcat-8.5.38tomcat8 $rm-rf/config/tomcat8/webapps/* $ln-sf/opt/docker-guacamole/guacamole-0.9.14.war/config/tomcat8/webapps/ROOT.war#guacamoleclient $sed-i's/Connectorport="8080"/Connectorport="8081"/g'/config/tomcat8/conf/server.xml#修改默认端口为8081 $sed-i's/FINE/WARNING/g'/config/tomcat8/conf/logging.properties#修改log等级为WARNING
5.4 配置环境变量
$exportJUMPSERVER_SERVER=http://127.0.0.1:8080#http://127.0.0.1:8080指jumpserver访问地址 $echo"exportJUMPSERVER_SERVER=http://127.0.0.1:8080">>~/.bashrc #BOOTSTRAP_TOKEN为Jumpserver/config.yml里面的BOOTSTRAP_TOKEN $exportBOOTSTRAP_TOKEN=****** $echo"exportBOOTSTRAP_TOKEN=******">>~/.bashrc $exportJUMPSERVER_KEY_DIR=/config/guacamole/keys $echo"exportJUMPSERVER_KEY_DIR=/config/guacamole/keys">>~/.bashrc $exportGUACAMOLE_HOME=/config/guacamole $echo"exportGUACAMOLE_HOME=/config/guacamole">>~/.bashrc
5.5 启动 Guacamole
$/etc/init.d/guacdrestart $sh/config/tomcat8/bin/startup.sh
这里所需要注意的是 guacamole 暴露出来的端口是 8081,若与主机上其他端口冲突请自定义一下。
六. 配置 Nginx 整合各组件
6.1 安装 Nginx
$apt-get-yinstallnginx $rm-rf/etc/nginx/site-enabled/default
6.2 准备配置文件 修改 /etc/nginx/site-enabled/jumpserver.conf
$vim/etc/nginx/site-enabled/jumpserver.confserver{ listen80; server_name_; client_max_body_size100m;#录像及文件上传大小限制 location/luna/{ try_files$uri//index.html; alias/opt/luna/;#luna路径,如果修改安装目录,此处需要修改 } location/media/{ add_headerContent-Encodinggzip; root/opt/jumpserver/data/;#录像位置,如果修改安装目录,此处需要修改 } location/static/{ root/opt/jumpserver/data/;#静态资源,如果修改安装目录,此处需要修改 } location/socket.io/{ proxy_passhttp://localhost:5000/socket.io/;#如果coco安装在别的服务器,请填写它的ip proxy_bufferingoff; proxy_http_version1.1; proxy_set_headerUpgrade$http_upgrade; proxy_set_headerConnection"upgrade"; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; access_logoff; } location/coco/{ proxy_passhttp://localhost:5000/coco/; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; access_logoff; } location/guacamole/{ proxy_passhttp://localhost:8081/;#如果guacamole安装在别的服务器,请填写它的ip proxy_bufferingoff; proxy_http_version1.1; proxy_set_headerUpgrade$http_upgrade; proxy_set_headerConnection$http_connection; access_logoff; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; } location/{ proxy_passhttp://localhost:8080; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; }}
6.3 重启 Nginx
$nginx-t#如果没有报错请继续$nginx-sreload
6.4 开始使用 Jumpserver
服务全部启动后,访问http://192.168.244.144
默认账号: admin 密码: admin
到Jumpserver 会话管理-终端管理 检查 Coco Guacamole 等应用的注册
测试连接
如果登录客户端是macOS或Linux,登录语法如下 $ssh-p2222admin@192.168.244.144 $sftp-P2222admin@192.168.244.144 密码:admin 如果登录客户端是Windows,XshellTerminal登录语法如下 $sshadmin@192.168.244.1442222$sftpadmin@192.168.244.1442222密码:admin 如果能登陆代表部署成功#sftp默认上传的位置在资产的/tmp目录下#windows拖拽上传的位置在资产的GuacamoleRDP上的G目录下
以上就是关于“Ubuntu怎么安装Jumpserver”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。
分享标题:Ubuntu怎么安装Jumpserver
转载注明:http://hbruida.cn/article/gipgeg.html