使用JumpServer管理你的服务器

1,653 阅读4分钟

本文介绍CentOS 7从安装jumpserver到简单使用jumpserver管理服务器。

1.Jumpserver介绍

Jumpserver是一款开源的开源的堡垒机,如下图是官网介绍。

官网地址:www.jumpserver.org/
官网文档地址:docs.jumpserver.org/zh/docs/ind…
Github地址:github.com/jumpserver/…

2.安装

官方文档推荐了很多安装方式,这里由于老杨使用的是使用Docker安装,使用的自己的Redis和Mysql,首先生成随机加密秘钥(SECRET_KEY),命令如下:

if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi

然后生成BOOTSTRAP_TOKEN,命令如下:

if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

这里都是按照官方文档命令来的,然后执行Docker命令(注:需自行安装docker),如下所示。

docker run --name jms_all -d \
    -v /opt/mysql:/var/lib/mysql \
    -v /opt/jumpserver:/opt/jumpserver/data/media \
    -p 80:80 \
    -p 2222:2222 \
    -e SECRET_KEY=***\
    -e BOOTSTRAP_TOKEN=*** \
    -e DB_HOST=*** \
    -e DB_PORT=*** \
    -e DB_USER=*** \
    -e DB_PASSWORD=*** \
    -e DB_NAME=*** \
    -e REDIS_HOST=*** \
    -e REDIS_PORT=*** \
    -e REDIS_PASSWORD=*** \
    jumpserver/jms_all:latest

注意如下参数需自行设置:

  • SECRET_KEY:上述步骤中生成的SECRET_KEY
  • BOOTSTRAP_TOKEN:上述步骤中生成的BOOTSTRAP_TOKEN
  • DB_HOST:数据库地址
  • DB_PORT:数据库端口
  • DB_USER:数据库用户名
  • DB_PASSWORD:数据库密码
  • DB_NAME:数据库名称
  • REDIS_HOST:Redis地址
  • REDIS_PORT:Redis端口
  • REDIS_PASSWORD:Redis密码

当然,官网也声明了:不建议在生产中使用, 因为所有软件都打包到一个Docker中了, 不是Docker最佳实践

采用其他方法可以参考文档,地址:docs.jumpserver.org/zh/docs/ste…

这里还有一点,80端口和2222端口不要被占用了!!!

3.配置

如果安装没有问题的话,访问对应安装服务器ip地址如图所示。

ps:默认用户名密码都是admin,可以自行修改

登录后,如图所示,个人还是很喜欢这个设计风格的。

首先在进入资产管理-管理用户,如图。

介绍一下,这个管理用的意义个人理解就是访问你服务器的账号,点击创建管理用户按钮,进入如图页面

填写如下内容:

  • 名称:这个自行设置。
  • 用户名:访问服务器的用户名,比如你远程服务器的用户名root
  • 密码:访问服务器的密码
  • 私钥:访问服务器的私钥文件
  • 备注:备注信息。

都填写完成后保存即可。

接下来需要创建系统用户,何为系统用户呢,官方文档给出了如下解释,

系统用户是 Jumpserver跳转登录资产时使用的用户,可以理解为登录资产用户,如 web, sa, dba(ssh web@some-host), 而不是使用某个用户的用户名跳转登录服务器(ssh xiaoming@some-host); 简单来说是 用户使用自己的用户名登录Jumpserver, Jumpserver使用系统用户登录资产。 系统用户创建时,如果选择了自动推送 Jumpserver会使用ansible自动推送系统用户到资产中,如果资产(交换机、windows)不支持ansible, 请手动填写账号密码。目前还不支持Windows的自动推送

填写内容这里就不介绍了,没什么特别的,根据需要自行设置即可。

接下来我们回到资产管理-资产列表,如图

点击创建资产,如图所示。

其中填写如下必填项:

  • 主机名:自定义即可
  • IP:服务器IP
  • 协议:根据情况选择
  • 端口:根据情况设置
  • 系统平台:根据情况选择
  • 管理用户:选择刚刚新建的管理用户

配置完成后保存即可。

在下图位置可以查看硬件信息,测试连接等等。

接下来进入**权限管理-资产授权 **,如图

点击创建授权规则按钮,进入如图页面。

这里需要填写如下几项信息:

  • 名称:自己设置
  • 用户:设置权限用户
  • 用户组:设置权限用户组,这两个很好理解,就是给谁授权,或者给哪个组的用户授权
  • 资产:哪些服务器
  • 节点:类似资产组的概念
  • 系统用户:使用刚刚设置的系统用户

填写完成后点击提交即可。

4.连接使用

这里我使用的是SecureCRT,新建一个Session Wizard,如图

然后选择刚刚创建的Session Wizard,输入密码,进入如图页面。

然后输入ID进入对应服务器,比如这里输入3,如图

接下来的操作就是正常操作服务器了。

5.总结

个人感觉jumpserver适合将多个平台的服务器整合到一起,然后分配权限使用,如果就一两个的话就没必要搞了,当然,也可以根据个人喜好玩玩。