jumpserver简单使用

jumpserver简单使用

Jumpserver搭建完成之后,就可以通过堡垒机跳转到制定的机器了,登录jumpserver:

  1. 要么直接是命令行(xshell 客户端):

    1
    ssh username@192.168.0.1 2222

    回车再输入密码即可(192.168.0.1是jumpserver搭建的服务器的ip)

  2. 使用xshell客户端秘钥进行登录,jumpserver服务器创建登录用户,设置密码,生成公钥和私钥,xshell使用该用户进行登录(具体设置后面会说明)

jumpserver登录web页面有几块:
仪表盘用户管理资产管理权限管理会话管理作业中心日志审计系统设置
简单介绍一下基本的一些用法

系统设置

系统设置里面有几个,基本设置、邮件设置、LDAP设置、终端设置、安全设置

基本设置很简单,配置下当前jumpserver web端的url即可,Email主题前缀就是发送的邮件主题前缀,可以自定,没啥好说的;

1
# 修改 url 的"localhost"为你的实际 url 地址, 否则邮件收到的地址将为"localhost" 也无法创建新用户

邮件设置,根据实际的邮件配置即可,使用SSL,端口为465,设置完成之后,可以点击“测试连接”试试看能不能成功;

1
2
3
4
# 点击页面上边的"邮件设置", 进入邮件设置页面
# 默认使用 25 端口, 不勾选 SSL 和 TLS; 如果需要勾选 SSL, 端口需要修改成 465; 如果需要勾选 TLS, 端口需要改成 587
# 不可以同时勾选 SSL 和 TLS
# 配置邮件服务后, 点击页面的"测试连接"按钮, 如果配置正确, Jumpserver 会发送一条测试邮件到您的 SMTP 账号邮箱里面, 确定收到测试邮件后点击保存即可使用

LDAP设置,统一用户认证,看你需不需要使用域账号了,具体怎么配置可以咨询IT;

1
2
3
4
# 如果不需要使用"ldap"用户登陆 jumpserver, 可以直接跳过, 不需要设置
# 先"测试"通过才能保存
# DN 和 OU 一定要完整(如 "DN:cn=Manage,ou=Jumpserver,dc=jumpserver,ou=org")
# 注:可借用第三方 gui 工具查看 ldap 用户的属性, 新版本已经支持中文名登录, 即cn=中文也可正常使用

终端设置,按需勾选,密码认证,密钥认证等;

1
2
3
4
5
6
# "密码认证"和"密钥认证"是 SSH 连接跳板机时所使用的认证方式(都不选会造成无法使用 SSH 方式连接登录跳板机, 不影响 web 登录)
# "Telnet成功正则表达式" telnet设备登陆失败需要设置
# "命令存储""录像存储"位置设置

# "命令存储""录像存储"修改后, 需要在Jumpserver 会话管理-终端管理 修改terminal的配置 录像存储 命令记录, 然后重启 Jumpserver 服务
# 设置后重启 Coco 才能生效

安全设置,也是按需勾选;

1
2
3
4
# "MAF二次认证"勾选会开启全局强制"MFA", 所有 jumpserver 用户必须使用动态口令进行认证登录(即时生效)
# "限制登录失败"和"限制登录时间"设置需要重启 jumpserver 才能生效
# "SSH最大空闲时间"设置需要重启 coco 才能生效
# "密码校验规则"设置立即生效

用户管理

用户管理分用户列表和用户组,顾名思义,jumpserver的用户和组;根据实际需要创建对应的用户,和组,用户分到对应的组即可;

1
2
3
4
5
6
7
# 点击页面左侧"用户列表"菜单下的"用户列表", 进入用户列表页面
# 点击页面左上角"创建用户"按钮, 进入创建用户页面, (也可以通过右上角导入模版进行用户导入)
# 其中, 用户名即 Jumpserver 登录账号(具有唯一性, 不能重名)。名称为页面右上角用户标识(可重复)
# 成功提交用户信息后, Jumpserver 会发送一条设置"用户密码"的邮件到您填写的用户邮箱
# 点击邮件中的设置密码链接, 设置好密码后, 您就可以用户名和密码登录 Jumpserver 了。
# 用户首次登录 Jumpserver, 会被要求完善用户信息, 按照向导操作即可。
注:MFA 即 Google Authenticator, 使用此软件需要APP时间与浏览器时间同步

关于创建用户及完善用户信息,为了方便后续使用xshell客户端可以使用密钥登录,需要一点注意:

  1. 首先,在jumpserver服务器上创建登录的账号,设置密码,生成公钥和私钥(root账号):
1
2
3
4
5
6
7
8
#新增用户
useradd kyle

# 设置新密码
passwd kyle

# 生成公钥及私钥(记得过程中输入密钥的密码,后面会用到)
ssh-keygen

在用户的家目录下(/home/kyle),会有.ssh文件夹(ls -al),里面是生成的公钥和私钥(cd /home/kyle/.ssh && ls -al),这边用id_rsa_1id_rsa_1.pub表示,便于识别

在jumpserver服务器上创建完账号kyle之后,在jumpserver web界面创建用户,用户名使用kyle,邮件自填,点击保存,等着收邮件,邮件会提示改密码,更改了密码之后,会进行完善用户信息,最主要的就是一个密钥,将之前生生成的公钥(id_rsa_1.pub)内容填进去即可(cat,复制)

资产管理

资产管理顾名思义就是管理设备的地方

资产列表

管理资产的节点,左边是资产树,右击可以进行增删改操作,右侧是该节点下的资产,界面挺简单

网域列表

这个功能没用过,看官方文档介绍的,

1
2
网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。 
JMS => 网域网关 => 目标资产

管理用户

jumpserver的管理用户,可以理解为资产上的root用户,或者是具备all sudo权限的用户;页面直接点创建管理用户,填写资产机器的root账号信息,或者用all sudo权限的账号信息即可(有个添加秘钥的选项,这个可以设置,root在目标机器上生成公钥和私钥,再引过来即可)

系统用户

官方解释:

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

以下为官方文档的注意事项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# "系统用户"是 Jumpserver 跳转登录资产时使用的用户, 用户使用该用户登录资产
# "自动生成密码"、"自动推送"、"Sudo"等功能需要对应资产的"管理用户"是且有root权限, 否则自动推送失败
# ssh 协议的 "Sudo" 栏设定用户的 sudo 权限,
# ssh 协议如果创建的"系统用户"已在资产上面存在, "推送"将会覆盖掉原用户的"home"目录权限(注: 替换成700权限)
# ssh 协议的 "ssh私钥" 如果私钥有密码, 请把key的密码填在密码栏上, 目前仅支持 RSA DSA 格式私钥

# 这里简单举几个 "sudo" 设置例子
Sudo /bin/su # 当前系统用户可以免sudo密码执行sudo su命令

Sudo /usr/bin/git, /usr/bin/php, /bin/cat, /bin/more, /bin/less, /usr/bin/tail
# 当前系统用户可以免sudo密码执行git php cat more less tail

Sudo !/usr/bin/yum # 当前系统用户不可以执行sudo yum命令

# 此处的权限应该根据使用用户的需求汇总后定制, 原则上给予最小权限即可

# "系统用户"创建时, 如果选择了"自动推送" Jumpserver 会使用"Ansible"自动推送系统用户到资产中, "root"用户不支持推送
# 如果资产(交换机、Windows)不支持"Ansible", 请去掉"自动生成密钥"、"自动推送"勾选。手动填写资产上已有的账号及账号密码

# 如果想让用户登录资产时自己输入密码, 可以在创建系统用户时选择"手动登录"

权限管理

权限管理下,主要就是资产授权,可以创建授权规则,选择用户或者组

1
2
3
4
5
# "名称", 授权的名称, 不能重复
# "用户"和"用户组"二选一, 不推荐即选择用户又选择用户组
# "资产"和"节点"二选一, 选择节点会包含节点下面的所有资产
# "系统用户", 及所选的用户或用户组下的用户能通过该系统用户使用所选节点或者节点下的资产
# 用户(组), 资产(节点), 系统用户是一对一的关系, 所以当拥有 Linux、Windows 不同类型资产时, 应该分别给 Linux 资产和 Windows 资产创建授权规则

Jumpserver一些名词解释

用户管理

  • 用户组
    多个用户可以组合成用户组,为了方便进行授权,可以将一个部门或者几个用户组成用户组,在授权中使用组授权,该组中的用户拥有所有授权的主机权限

  • 用户
    用户是授权和登陆的主体,将来为每个员工简历一个账户,用来登录跳板机,将资产授权给改用户

资产管理

  • 资产
    资产通常是我们的服务器、网络设备等,将资产授权给用户,用户则会有权限登录资产,执行命令等

  • 管理账号
    添加资产时需要一个管理账号,该账号是该资产上已有的有管理权限的用户,如root,或者是有NOPASSWD:ALL sudo权限的用户,改管理账号用来向资产推送系统用户,为系统用户添加sudo,获取资产的一些信息

授权管理

  • 系统用户
    系统用户是服务器上建立的一些真实存在的可以ssh登陆的用户,如dev,sa,dba等,系统用户可以使用jumpserver推送到服务器上,也可以利用自己公司的工具进行推送,授权时将用户、资产、系统用户关联起来,则表明用户有权限登陆该资产的这个系统用户,例如:用户小明dev系统用户登录192.168.0.2资产,简单理解就是,将某个资产上的某个系统用户映射给这个用户登录

用户作用:

1
2
3
4
5
6
7
8
9
登录web(使用用户)

登陆跳板机(使用用户)

跳转登陆Client端(使用系统用户)

系统用户 关联sudo(就是sudo授权),该系统用户就拥有sudo权限

推送系统用户(使用管理用户,管理用户是Client端上已有的用户并且有sudo权限)

以上,完~

参考文档

官方指导文档
优秀指导文档

文章目录
  1. 系统设置
  2. 用户管理
  3. 资产管理
    1. 资产列表
    2. 网域列表
    3. 管理用户
    4. 系统用户
  4. 权限管理
  5. Jumpserver一些名词解释
    1. 用户管理
    2. 资产管理
    3. 授权管理
    4. 用户作用:
  6. 参考文档
|