本文介绍 CentOS 7 从安装 jumpserver 到简单使用 jumpserver 管理服务器.
1.Jumpserver 介绍
Jumpserver 是一款开源的开源的堡垒机, 如下图是官网介绍.
官网地址: http://www.jumpserver.org/
官网文档地址: http://docs.jumpserver.org/zh/docs/index.html
GitHub 地址: https://github.com/jumpserver/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 最佳实践
采用其他方法可以参考文档, 地址:
这里还有一点, 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 适合将多个平台的服务器整合到一起, 然后分配权限使用, 如果就一两个的话就没必要搞了, 当然, 也可以根据个人喜好玩玩.
来源: https://yq.aliyun.com/articles/699026