Contents
  1. 1. jumpserver
  2. 2. 安装
  3. 3. 配置
  4. 4. 添加服务
  5. 5. 其它

jumpserver

jumpserver也叫做跳板机,当多人需要对多个机器(集群)进行操作时,为了方便操作、安全、授权管理和审计,可以使用一台机器作为跳板机,所有用户必须也只能先登录此系统再跳转到其它资产。

安装

我们使用了一个国内团队开发的开发跳板机系统jumpserver。该系统安装简便且功能丰富。CentOS6具体的安装过程如下。

1
yum install git -y

下载工程文件

1
2
cd /opt
git clone https://github.com/jumpserver/jumpserver.git

不要安装到/root目录。

开始安装

1
2
cd jumpserver/install
python install.py

安装过程中会询问是否安装mysql,可视自己的情况选择yes or no, 并且要求输入数据库的user password等作息,注意此处输入的是Jumpserver使用的数据库和帐户信息,而不是root用户信息。也就是安装程序并不会创建数据库,需要自己在数据库中预先创建与填入信息相符的数据库。
登录数据库:

1
mysql -u root -p

输入密码进入:
创建数据库

1
create database jumpserver;

创建用户

1
grant all privileges on jumpserver.* to 'jumpserver'@`localhost' identified by 'password';

邮箱信息请自行填入和确认,也可以跳过。

配置

安装完成之后,在/opt/jumpserver目录下执行./run-server.sh就可以启动服务。但并不推荐使用这种方式,可以将其它置于更加稳定和安全的nginx之后。
首先修改/opt/jumpserver/jumpserver.conf文件,将ip绑定于127.0.0.1

1
2
3
4
5
[base]
url = ……
key = ……
ip = 127.0.0.1
……

安装nginx,使用反向代理。

1
yum install nginx -y

注意centos 6默认的nginx版本很陈旧,如需要较新版本,请自行添加repo

/etc/nginx/conf.d/目录下创建jumpserver.conf文件,其内容如下

1
2
3
4
5
6
7
8
9
10
server {
listen 1208;
server_name xx.xxx.xx.x;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000;
}
}

重新加载配置

1
nginx -s reload

至此Jumpserver已经安装完毕,此时可以通过web页面登录,配置用户、资产和授权等信息。

添加服务

jumpserver目录中自带一个写好的service.sh,可以将其中的jumpserver_dir补全,然后 copy到/etc/rc.d/init.d/目录并重命名为jumpserver,之后就可以使用

1
service jumpserver [ start | stop |restart |status ]

其它

jumpserver在安装和下发配置到资产时需要mysql和ansible,如果不想使用默认的版本,请提前安装较高版本。另外python for msyql最高只支持到5.5。

jumpserver会将在各资产主机上使用的role和用户的密钥文件分别存储于${jumpserver}/keys/[user/role]下,如有需要可自行将id_rsa私钥文件copy到~/.ssh/目录下,其对应公钥已在web页的推送role过程中下发至各资产主机,因而可以直接使用。

Contents
  1. 1. jumpserver
  2. 2. 安装
  3. 3. 配置
  4. 4. 添加服务
  5. 5. 其它