Jumpserver使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jumpserver使⽤说明
1、MFA 使⽤说明
Multi-Factor Authentication (MFA) 遵循基于时间的⼀次性密码 (TOTP) 标准 (RFC 6238)
# 关闭也是在这⾥, 点击此处的重置即可
# 部分安卓⼿机⽆法使⽤ Google Authenticator, 可以尝试使⽤系统⾃带的【扫⼀扫】⼯具
# 或者尝试使⽤第三⽅软件 (如 Microsoft Authenticator 、⾝份宝等)
MFA遗失⽆法登陆
# 普通⽤户联系管理员关闭MFA, 登录成功后⽤户在个⼈信息⾥⾯重新绑定.
# 如果管理员遗失⽆法登陆, 修改数据库 users_user 表对应⽤户的 otp_level 为 0, 重新登陆绑定即可
$ mysql -uroot
> use jumpserver;
> update users_user set otp_level='0' where username='admin'; # admin 为你要修改的⽤户
# 如果在系统设置⾥⾯开启的 MFA ⼆次认证, 需要修改数据库 settings 表 SECURITY_MFA_AUTH 的 value 值为 false
mysql -uroot
> use jumpserver;
> update settings set value='false' where name='SECURITY_MFA_AUTH';
2、LDAP 使⽤说明
LDAP ⽀持使⽤ LADP 与 Windows AD 的⽤户作为 jumpserver 登录⽤户
已经存在的⽤户不能与要登录的 LDAP ⽤户有⽤户名和邮箱同名, 具有唯⼀性
1. LDAP 设置说明
LDAP地址 ldap://serverurl:389 或者 ldaps://serverurl:636(需要勾选ssl)
# 此处是设置LDAP的服务器,推荐使⽤IP, 防⽌解析问题
绑定DN cn=administrator,cn=Users,dc=jumpserver,dc=org
# 这⾥是设置认证⽤户的信息, jumpserver会使⽤这个⽤户去校验ldap的信息是否正确
密码 # 上⾯认证⽤户的密码
⽤户OU ou=jumpserver,dc=jumpserver,dc=org
# 这⾥是设置⽤来登录jumpserver的组织单元, ⽐如我要⽤某个ou的⽤户来登录jumpserver
# 多OU⽤法 ou=jumpserver,dc=jumpserver,dc=org | ou=user,dc=jumpserver,dc=org | ou=xxx,dc=jumpserver,dc=org
⽤户过滤器 (cn=%(user)s)
# 这⾥是设置筛选ldap⽤户的哪些属性, 不能有多余的空格
LADP属性映射 {"username": "cn", "name": "sn", "email": "mail"}
username name email 是jumpserver的⽤户属性(不可更改)
cn sn mail 是ldap的⽤户属性(可⾃定义)
# 这⾥的意思是, 把ldap⽤户的属性映射到jumpserver上
使⽤SSL
# 勾选后 LDAP地址需要设置成 ldaps://serverurl:636
启动LDAP认证
# 如果需要使⽤ LDAP或域⽤户登录 jumpserver,则必选
2. 补充
DN ⼀定要是完整的DN, 不能跳过OU, 可以使⽤其他⼯具查询
如:cn=admin,ou=aaa,dc=jumpserver,dc=org,必须要写成cn=admin,ou=aaa,dc=jumpserver,dc=org 不能缩写成cn=admin,dc=jumpserver,dc=org
⽤户OU ⽤户OU可以只写顶层OU, 不写⼦OU
如:ou=aaa,ou=bbb,ou=ccc,dc=jumpserver,dc=org,可以只写ou=ccc,dc=jumpserver,dc=org,根据需求⾃⾏修改
⽤户过滤器筛选⽤户的规则, 点击测试连接就是根据这个规则到⽤户OU⾥⾯去检索⽤户, 可以⾃定义规则
如:(uid=%(user)s) 或 (sAMAccountName=%(user)s) 等, 这⾥的属性需要与下⾯的属性映射设置⼀致
LADP属性映射 username name email 这三项不可修改删除, 属性映射的字段必须存在, 且登录⽤户名和邮件不可以重复
如:{"username": "uid", "name": "sn", "email": "mail"} 或 {"username": "sAMAccountName", "name": "cn", "email": "mail"}
"username": "uid" 这⾥的 uid 必须和上⾯的 (uid=%(user)s) 这⾥的 uid ⼀致
如果上⾯是(sAMAccountName=%(user)s) 那么下⾯也应该修改为{"username": "sAMAccountName",
username 是 jumpserver 的⽤户⽤户名, name 是 jumpserver 的⽤户名称, mail 是 jumpserver ⽤户的邮箱
属性映射的意思是把ldap的什么属性来作为jumpserver的⽤户⽤户名, 把ldap的什么属性作为jumpserver的⽤户名称, 把ldap的什么属性作为jumpserver的⽤户邮箱3、sftp 使⽤说明
在Windows上使⽤ sftp ⼯具传输⽂件到 Linux 系统, 默认的上传⽬录在 /tmp
# 连接成功后, 可以看到当前拥有权限的资产, 打开资产, 然后选择系统⽤户, 即可到资产的 /tmp ⽬录
$ sftp -P2222 admin@192.168.244.144 # Linux 语法
$ sftp 2222 admin@192.168.244.144 # xshell 语法
$ ls 列出资产⽬录
$ cd 你的资产
$ ls 列出你的系统⽤户
$ cd 你的系统⽤户
# 此处即是当前资产的 home ⽬录
如果需要修改 /tmp 为其他⽬录
$ vi coco/conf.yml
# SFTP的根⽬录, 可选 /tmp, Home其他⾃定义⽬录
SFTP_ROOT: /tmp
# SFTP是否显⽰隐藏⽂件
# SFTP_SHOW_HIDDEN_FILE: false
4、Telnet 使⽤说明
资产的创建与系统⽤户的创建选择telnet
1. telnet 连不上
# 需要在 Web "系统设置"-"终端设置" 添加成功判断代码
# 是通过 "tenlet" 命令登录 telnet设备 "成功" 的返回字符串
# 保存后需要重启coco组件
2. 举例
$ telnet 172.16.0.1
Login authentication
login: admin
password: *********
Info: The max number or VTY users is 10, and the number
of current VTY users on line is 1.
<RA-L7-RD>
# 把 <RA-L7-RD> 写⼊到 Web "系统设置"-"终端设置"-"Telnet 成功正则表达式" ⾥⾯, 多个不⼀样的字符串⽤ | 隔开, 如 <RA-L7-RD>|<CHXZ-Group-S7503-LB2>|success|成功# <RA-L7-RD> 正则可⽤ <.*>+? 表⽰
5、Docker 使⽤说明
1. 查看所有镜像
$ docker images
2. 查看所有创建的容器
$ docker ps -a
3. 查看正在运⾏的容器
$ docker ps
4. 进⼊正在运⾏的容器
$ docker exec -it <容器的 CONTAINER ID 或者容器 NAMES > /bin/bash
# 例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecda634206af jumpserver/guacamole:test "/init" 12 days ago Up 3 days 0.0.0.0:8081->8080/tcp jms_guacamole
$ docker exec -it ecda634206af /bin/bash 或 docker exec -it jms_guacamole /bin/bash
5. 开始停⽌重启容器
$ docker start <容器的 CONTAINER ID 或者容器 NAMES >
$ docker stop <容器的 CONTAINER ID 或者容器 NAMES >
$ docker restart <容器的 CONTAINER ID 或者容器 NAMES >
# 例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecda634206af jumpserver/guacamole:test "/init" 12 days ago Up 3 days 0.0.0.0:8081->8080/tcp jms_guacamole
$ docker start ecda634206af 或 docker start jms_guacamole
$ docker stop ecda634206af 或 docker stop jms_guacamole
$ docker restart ecda634206af 或 docker restart jms_guacamole
6. 查看容器 log
$ docker logs -f <容器的 CONTAINER ID 或者容器 NAMES >
# 例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ecda634206af jumpserver/guacamole:test "/init" 12 days ago Up 3 days 0.0.0.0:8081->8080/tcp jms_guacamole $ docker logs -f ecda634206af 或 docker logs -f jms_guacamole
7. 删除容器
$ docker rm <容器的 CONTAINER ID 或者容器 NAMES >
# 例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ecda634206af jumpserver/guacamole:test "/init" 12 days ago Up 3 days 0.0.0.0:8081->8080/tcp jms_guacamole $ docker rm ecda634206af 或 docker rm jms_guacamole
8. 删除镜像
$ docker rmi <镜像的 CONTAINER ID>
# 例:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jumpserver/guacamole test e0c2ec53a8fd 13 days ago 1.23GB
$ docker rmi e0c2ec53a8fd
9. 更新镜像
$ docker pull <镜像地址:版本>
# 例:
$ docker pull jumpserver/jms_all:latest
$ docker pull jumpserver/jms_coco:1.4.8
$ docker pull jumpserver/jms_guacamole:1.4.8
6、Radius 使⽤说明
⽀持使⽤ Radius 的⽤户作为 jumpserver 登录⽤户
1. 修改 Jumpserver 配置⽂件启⽤ Radius 认证
$ vi /opt/jumpserver/config.yml
# 在最后新增下⾯内容
AUTH_RADIUS: True
RADIUS_SERVER: 127.0.0.1
RADIUS_PORT: 1812
RADIUS_SECRET: radius_secret
# 修改完成后保存, 重启 jumpserver 即可
2. 设置参数说明
# RADIUS_SERVER: 127.0.0.1 是 Radius 服务器的IP地址
# RADIUS_PORT: 1812 是 Radius 服务器的端⼝
# RADIUS_SECRET: radius_secret 是 Radius 服务器的预共享秘钥
# freeradius 的 SECRET 在 clients.conf ⾥⾯
# 思科的 SECRET 可以从 web 页⾯的 RADIUS Authentication Settings ⾥⾯的 Shared Secret 获取
# 华为的 SECRET 可以从 web 页⾯的 Authentication Options ⾥⾯的 Shared Secret 获取
# 其他⼚商的请⾃⾏咨询相关⼚商⼯作⼈员
# 实际案例
AUTH_RADIUS: True
RADIUS_SERVER: 47.98.186.18
RADIUS_PORT: 1812
RADIUS_SECRET: testing123
7、Firewalld 使⽤说明
1. 打开 firewalld
$ systemctl start firewalld
2. 端⼝允许被某固定 IP 访问
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="允许访问的IP" port protocol="tcp" port="端⼝" accept"
$ firewall-cmd --reload # 重载规则, 才能⽣效
$ firewall-cmd --list-all # 查看使⽤中的规则
# 举例
# 允许 192.168.100.166 访问 6379 端⼝
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.166" port protocol="tcp" port="6379" accept"
# 允许 172.16.10.166 访问 3306 端⼝
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.10.166" port protocol="tcp" port="3306" accept"
# 允许 10.10.10.166 访问 8080 端⼝
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.10.10.166" port protocol="tcp" port="8080" accept"
$ firewall-cmd --reload # 重载规则, 才能⽣效
# 删除规则( add 改成 remove )
$ firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.100.166" port protocol="tcp" port="6379" accept" $ firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="172.16.10.166" port protocol="tcp" port="3306" accept" $ firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="10.10.10.166" port protocol="tcp" port="8080" accept"
$ firewall-cmd --reload # 重载规则, 才能⽣效
3. 端⼝允许所有 IP 访问
$ firewall-cmd --zone=public --add-port=端⼝/tcp --permanent
$ firewall-cmd --reload # 重载规则, 才能⽣效
$ firewall-cmd --list-all # 查看使⽤中的规则
# 举例
# 允许访问 2222 端⼝
$ firewall-cmd --zone=public --add-port=2222/tcp --permanent
# 允许访问 8080 端⼝
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 删除规则( add 改成 remove )
$ firewall-cmd --zone=public --remove-port=2222/tcp --permanent
$ firewall-cmd --zone=public --remove-port=8080/tcp --permanent
$ firewall-cmd --reload # 重载规则, 才能⽣效
8、添加组织及组织管理员说明
jumpserver 1.4.0 或之后版本
$ source /opt/py3/bin/activate
$ cd /opt/jumpserver/apps
$ python manage.py shell
>>> from assets.models import Asset
>>> from orgs.models import Organization
>>> from users.models import User
>>> dev_org = Organization.objects.create(name='开发部')
>>> user = User.objects.create(name='⽤户', username='user', email='user@')
>>> user.set_password('PassWord')
>>> user.save()
>>> dev_org.admins.add(user)
>>> dev_ers.add(user)
>>> exit()
# 然后使⽤ user ⽤户登录 jumpserver 即可
向现有组织加⼊管理员
$ source /opt/py3/bin/activate
$ cd /opt/jumpserver/apps
$ python manage.py shell
>>> from assets.models import Asset
>>> from orgs.models import Organization
>>> from users.models import User
>>> dev_org = Organization.objects.get(name='开发部')
>>> user = User.objects.get(username='admin')
>>> dev_org.admins.add(user)
>>> exit()
向现有组织加⼊已存在⽤户
$ source /opt/py3/bin/activate
$ cd /opt/jumpserver/apps
$ python manage.py shell
>>> from assets.models import Asset
>>> from orgs.models import Organization
>>> from users.models import User
>>> dev_org = Organization.objects.get(name='开发部')
>>> user = User.objects.get(username='admin')
>>> dev_ers.add(user)
>>> exit()
向现有组织加⼊新建的⽤户
$ source /opt/py3/bin/activate
$ cd /opt/jumpserver/apps
$ python manage.py shell
>>> from assets.models import Asset
>>> from orgs.models import Organization
>>> from users.models import User
>>> dev_org = Organization.objects.get(name='开发部')
>>> user = User.objects.create(name='测试⽤户', username='test', email='test@') >>> user.set_password('PassWord')
>>> user.save()
>>> dev_ers.add(user)
>>> exit()。