jumpserver堡垒机官方地址:
https://docs.jumpserver.org/zh/docs/index.html
本次使用centos7的系统,属于测试阶段,由于服务器数量不足,部署方案为,一台服务器部署jumpserver服务和koko组件,另一台单独部署koko组件,与jumpserver服务器连通。
koko属于一个ssh连接代理组件。
本次部署是使用docker和docker-compose部署。
服务器初始化脚本:
#!/bin/bash
#修改hostname
read -p "请输入主机名:" host
hostnamectl set-hostname $host
#安装常用工具
yum -y install vim git wget lrzsz telnet net-tools lsof bind-utils-9.11.4-9.P2.el7.x86_64
#禁用selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
#安装docker-ce,设置开机自启动
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
#配置docker的存储位置到/data/docker目录下,提前创建好/data/docker目录,并限制容器日志的大小为1024M ,最大文件保留数为3个。
cat>/etc/docker/daemon.json<<EOF
{
"graph": "/data/docker",
"log-driver":"json-file",
"log-opts": {"max-size":"1024m", "max-file":"3"}
}
EOF
systemctl restart docker
#安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker环境安装好之后开始部署jumpserver服务。我们部署在/data目录下。
参考docker-compose部署的文档。
https://github.com/wojiushixiaobai/docker-compose
拉取Git仓库。
$ git clone https://github.com/wojiushixiaobai/docker-compose.git
$ cd /data/docker-compose
$ cat .env
在这个Git仓库中包含了jumpserver服务器的所有组件,.env是环境变量。理论上如果不需要部署分布式的话,直接启动服务就完成了安装,启动命令为docker-compose up -d
。如下
$ cd /data/docker-compose
$ docker-compose up -d
通过服务器的80端口即可访问,管理员的用户名密码都为admin。
ssh 登录的话,默认koko的端口是2222,所以
ssh -p 2222 admin@IP
输入密码即可。
分布式部署koko的话,docker-compose 文件需要做一些改动。
需要暴露并映射出core服务的8080端口,在core服务中添加以下两行
ports:
- 8080:8080
参考:
image: wojiushixiaobai/jms_core:${Version}
container_name: jms_core
restart: always
tty: true
environment:
SECRET_KEY: $SECRET_KEY
BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
DB_HOST: $DB_HOST
DB_PORT: $DB_PORT
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_NAME: $DB_NAME
REDIS_HOST: $REDIS_HOST
REDIS_PORT: $REDIS_PORT
REDIS_PASSWORD: $REDIS_PASSWORD
ports:
- 8080:8080
depends_on:
- mysql
- redis
volumes:
- static:/opt/jumpserver/data/static
- media:/opt/jumpserver/data/media
networks:
- jumpserver
docker-compose.yml文件修改好之后我们可以启动服务。
$ cd /data/docker-compose
$ docker-compose up -d
可以看到服务已经启动,jms_core的端口为8080 ,koko端口为2222,koko端口可以自定义修改,ssh登录的时候使用自定义修改的端口即可。
$ cd /data/docker-compose
$ docker-compose ps
[root@jumpserver docker-compose]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------
jms_core ./entrypoint.sh Up 0.0.0.0:8080->8080/tcp
jms_guacamole ./entrypoint.sh Up
jms_koko ./entrypoint.sh Up 0.0.0.0:2222->2222/tcp
jms_mysql ./entrypoint.sh Up
jms_nginx nginx -g daemon off; Up 0.0.0.0:80->80/tcp
jms_redis ./entrypoint.sh Up
此时在另外一台服务器部署koko组件。
官网文档中使用的是docker部署,我修改为通过docker-compose部署。
服务器初始化文件可以参考以上脚本,按照需要修改,实际需要docker和docker-compose环境即可。
docker-compose.yml文件如下,请按照实际情况和需要来修改
version: '2'
services:
koko:
image: wojiushixiaobai/jms_koko:1.5.6
ports:
- 2223:2222
environment:
CORE_HOST: http://192.168.1.123:8080
BOOTSTRAP_TOKEN: ******************
container_name: jms_koko1
在这个文件中我将koko的端口映射为2223-->2222,即ssh 登录的时候ssh -p 2223 admin@IP
即可,环境变量CORE_HOST处修改为你jumpserver服务器部署处的主机IP的8080端口,之前我特意添加并映射过8080端口,环境变量 BOOTSTRAP_TOKEN处修改为你自己的token,此处token在你部署jumpserver处的Git仓库的.env
文件中,请按照需要自行修改。
当文件修改完之后就可以启动了。
$ docker-compose up -d
$ docker-compose ps
docker-compose ps
查看服务运行状态。
如果服务正常启动我们可以通过ssh连接测试是否部署成功。
1,连接jumpserver服务器所在的koko,端口是2222
ssh -p 2222 admin@IP
2, 连接另一台服务器的koko,端口是2223
ssh -p 2223 admin@IP
输入密码后如果出现以下界面即部署成功。
Administrator, 欢迎使用Jumpserver开源堡垒机系统
1) 输入 部分IP、主机名、备注 进行搜索登录(如果唯一).
2) 输入 / + IP,主机名 or 备注 进行搜索,如:/192.168.
3) 输入 p 进行显示您有权限的主机.
4) 输入 g 进行显示您有权限的节点.
5) 输入 d 进行显示您有权限的数据库.
6) 输入 r 进行刷新最新的机器和节点信息.
7) 输入 h 进行显示帮助.
8) 输入 q 进行退出.
Opt>
web端登录需要访问jumpserver服务器的80端口,用户名密码都是admin。
提示:服务器的相关端口要打开,如80,8080,2222,2223.
网友评论