jumpserver
jumpserver是一款使用python,Django开发的开源跳板机系统
部署环境
python = 3.6.x
Mysql server 最低5.6
Mariadb server 最低5.5.56
Redis
以下示例用docker创建
docker部署mysql
数据库编码要求utf8
# mkdir /data/mysql/{conf,jumpserver}
# docker pull mysql:5.6.48
# docker run -it --rm --name mysql mysql:5.6.48 bash
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
# vim /data/mysql/conf/mysql.conf
default-character-set=utf8
# vim /data/mysql/conf/mysqld.conf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
# docker run -it -d -p 3306:3306 -v /data/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /data/mysql/conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf -v /data/mysql/jumpserver:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="ilinux.com" mysql:5.6.48
##验证数据库编码是否为utf-8
# apt install mysql-client
# mysql -uroot -h127.0.0.1 -pmagedu.com
mysql> show variables like "%character%";show variables like "%collation%";
mysql> create database jumpserver;
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
mysql> flush privileges;
docker部署redis
# docker run -d -p 6379:6379 redis:alpine3.12
# apt install -y redis
# redis-cli
127.0.0.1:6379> info
docker部署jumpserver
##创建jumpserver容器
docker run --name jms_all \
-v /opt/jumpserver:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
-e DB_HOST=172.20.22.25 \
-e DB_PORT=3306 \
-e DB_USER='jumpserver' \
-e DB_PASSWORD="magedu.com" \
-e DB_NAME=jumpserver \
-e REDIS_HOST=172.20.22.25 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD= \
jumpserver/jms_all:1.5.9
###浏览器输入ip,默认用户名密码admin
配置用户和相应的服务器资源
- jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)
- 管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户
- 系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)
添加jumpserver账号并指定对应的用户组
添加管理用户
添加系统用户
添加资产
权限授权
使用新建用户查看对应的资产
通过web终端可直接登入服务器
命令过滤器
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
配置命令过滤器
修改系统用户设置,引用定义的命令过滤器
登入验证