23.5 jumpserver介绍
开源堡垒机jumpserver介绍:
官网www.jumpserver.org
Jumpserver是一款使用Python, Django开发的开源跳板机系统, 助力互联网企业高效 用户、资产、权限、审计 管理
Auth 统一认证
CMDB 资产管理
统一授权
日志审计
自动化运维(ansible)
最新版v0.4.0,基于python3.6, django 1.11,目前还未开发完成,所以我们接下来将要安装v0.3.2
yum install -y docker //首先安装docker
systemctl enable docker
systemctl start docker //启动docker服务
chmod 755 /usr/local/bin/docker-compose
cd jumpserver
检查是否有监听8080端口的服务,如果有关闭
screen//进入到一个虚拟终端
docker-compose up //使用docker-compose安装jumpserver
安装jumpserver报错
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml 找不到目录
Jumpserver安装(0.3.2)
yum install -y git
cd /home //要到一个空间大的目录下面
git checkout master
cd jumpserver/install
python install.py
若你的机器已经安装过mysql,可以先创建jumpserver库以及对应的用户名密码,若没有安装就让它自动安装即可
安装过程中还需要设置一下使用的第三方邮件,建议你去申请一个免费的163邮箱
我的163邮箱smtp.163.com aming_test@163.com 8lFjprwrfEv1c
实例:(0.32版本)
首先要把不需要的服务停掉
[root@axinlinux-01 ~]# systemctl stop mongdod
[root@axinlinux-01 ~]# systemctl disable mongod
gitlab也需要关闭
[root@axinlinux-01 ~]# yum install git #如果下载的时候比较慢,可以将不相关的repo文件停掉
[root@axinlinux-01 ~]# cd /etc/yum.repos.d/ #怎么停掉呢?cd到/etc/yum.repos.d目录下
[root@axinlinux-01 yum.repos.d]# ls #将不相关的repo文件停掉。就是改个名字
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo mongo.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo gitlab_gitlab-ce.repo zabbix.repo
[root@axinlinux-01 yum.repos.d]# mv gitlab_gitlab-ce.repo gitlab_gitlab-ce.repo.bak #这样将不相关的停掉
[root@axinlinux-01 yum.repos.d]# mv mongo.repo mongo.repo.bak
[root@axinlinux-01 yum.repos.d]# mv zabbix.repo zabbix.repo.bak
以下操作是解决一系列问题之后的步骤:
1.cd /opt #建议不要到root或home下,容易出问题
3.unzip jumpserver-0.3.3.zip #然后解压这个zip
4.cd jumpserver-0.3.3 #cd 进去
5.cd install/ #再cd到install目录下
6.python install.py #执行install.py
问题:执行phython install.py时报错You are using pip version 8.1.2, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
安装JumpServer 依赖的python库失败!
解决:执行pip install --upgrade pip
问题:执行phython install.py时报错ERROR: Cannot uninstall 'pyinotify'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决:sudo pip install --ignore-installedphython
注意:
1. 安装过程中要求输入数据库密码时,直接回车就行 2. 完成安装后,请访问web,继续查看后续文档 3. 如果启动失败,请返回上层目录,手动运行./service.sh restart启动 4. 默认账号密码 admin 5Lov@wife
请输入您服务器的IP地址,用户浏览器可以访问 [192.168.193.133]: #回车
是否安装新的MySQL服务器? (y/n) [y]: n #因为之前就安装了mysql,所以就不在安装了
请输入数据库服务器IP [127.0.0.1]: #回车
请输入数据库服务器端口 [3306]: #回车
请输入数据库服务器用户 [jumpserver]: #此时可以在开一个终端,来创建以及授权(点击xshell标签右键>复制ssh渠道。
问题点:但是,阿鑫在做的时候,到下面管理员那一步骤的时候报错了,报错信息如下:
django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE6\\x9C\\xBA\\xE6\\x88\\xBF' for column 'name' at row 1")
问题根源:网上查找同类问题,应该是mysql数据编码的问题,django连接的数据库编码字符集要求utf8,不然报错
解决方法:
打开mysql数据库的配置文件
[[email protected] ~]# vim /etc/my.cnf [mysqld] #在mysqld模块下增加以下两个参数 character_set_server=utf8 init_connect='SET NAMES utf8'
[root@localhost ~]# /etc/init.d/mysqld restart
注意:新版MySQL(如:5.5)或MariaDB等,mysqld启动时可能会遇到“[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’”的错误;就应该在[mysqld]中用 character_set_server=utf8 替换掉 default_character_set=utf8
2.删除原来创建的jumpsrvice问题数据库
create database jumpserver;
3.再打开mysql数据库创建django连接的数据库
[root@localhost ~]# mysql -uxxxx -pxxxxxx mysql> show variables like'character%'; //运行这语句查看一下character_set_database参数是否utf8 mysql> set character_set_database=utf8; //如果不是utf8,运行此语句设置一下 +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ mysql> create database jumpservice; //之后就可以正常创建jumpservice数据库了
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123';
4.[[email protected] install]# python install.py //重新执行命令即可安装成功
另外一种情况,也许是用户名或者库授权有问题,建议删除jumpserver库,重新建立一个新的并授权。
> create database jumpserver; > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'asd9577';
请输入数据库服务器密码: jump123jump
请输入使用的数据库 [jumpserver]:
连接数据库成功
请输入SMTP地址: smtp.163.com
请输入SMTP端口 [25]:
请输入账户: wangxinlinux@163.com
请输入密码: wangxin789
(535, 'Error: authentication failed')
是否跳过(y/n) [n]? : y
请登陆邮箱查收邮件, 然后确认是否继续安装
是否继续? (y/n) [y]: y
请输入管理员用户名 [admin]: #回车
请输入管理员密码: [5Lov@wife]: #回车
请再次输入管理员密码: [5Lov@wife]: #回车
Starting jumpserver service: [ 确定 ]
安装成功,Web登录请访问http://ip:8000, 祝你使用愉快。
请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档