一、部署jumpserver

3.1.1 部署jumpserver

官网: https://jumpserver.org/

GitHub地址:https://github.com/jumpserver/jumpserver/

准备一台 4c8g 的Linux机器,建议在阿里云购买抢占式实例,实验完及时销毁,以免产生费用

以下演示命令在Ubuntu22.04上

1、先安装依赖工具

sudo apt update
sudo apt install -y wget curl tar gettext iptables

2、下载包

从官网下载最新的包:https://community.fit2cloud.com/#/products/jumpserver/downloads

以下我下载的版本为4.10.12

cd /opt/
sudo wget -O jumpserver-ce.tar.gz 'https://cdn0-download-offline-installer.fit2cloud.com/jumpserver/jumpserver-ce-v4.10.12-x86_64.tar.gz'

3、安装

sudo tar -xf jumpserver-ce.tar.gz
sudo ln -s jumpserver-ce-v4.10.12-x86_64  jumpserver-ce
sudo bash /opt/jumpserver-ce/jmsctl.sh install

这些地方都直接按回车:

image/png

安装完成后,可以看下总结信息:

image/png

服务启动:

sudo /opt/jumpserver-ce/jmsctl.sh start

服务停止:

sudo /opt/jumpserver-ce/jmsctl.sh stop

服务重启:

sudo /opt/jumpserver-ce/jmsctl.sh restart

备份:

sudo /opt/jumpserver-ce/jmsctl.sh backup

升级:

sudo /opt/jumpserver-ce/jmsctl.sh upgrade

4、访问

http://ip

默认管理员用户名和密码是 admin / <set-your-password>

初次登录要改密码

image/png

3.1.2 快速体验Jumpserver

再去准备1台1c2g的主机,作为实验用机器

建议在阿里云购买抢占式实例,实验完及时销毁,以免产生费用

1、创建主机

image/png

image/png

image/png

2、创建用户并授权

先创建一个测试的用户user01

image/png

用户这里需要给它设置一个初始密码,登录时自己再去修改密码

image/png

这里要设置为管理员,因为后面我们要以此用户的身份来调用API,权限太少,很多接口就会不好使

image/png

然后将前面添加的主机授权给user01

image/png

登录user01,测试是否可以访问到test1机器

image/png

image/png

image/png

image/png

3.2 部署Jumpserver MCP

3.2.1 获取用户Token

这里建议创建一个单独用作访问API的管理员用户,确保没有开启MFA认证,密码一定要复杂一些

image/png

通过用户名、密码获取用户的Token,可以使用curl

curl -s -X POST http://jumpserver的ip/api/v1/authentication/auth/ -H "Content-Type: application/json"  -d '{
    "username": "<your-username>",
    "password": "<your-password>"  
 }'

image/png

3.2.2 部署jumpserver MCP

建议直接部署到jumpserver机器上,因为上面已经有docker环境

1、克隆源码

cd /opt/
sudo git clone  https://github.com/aminglinux/jms_mcp.git

2、给docker安装buildx插件

先测试是否支持buildx

sudo docker  buildx

如果能运行就不用做下面的操作了

sudo mkdir -p /root/.docker/cli-plugins
sudo curl -L https://github.com/docker/buildx/releases/latest/download/buildx-v0.29.1.linux-amd64 \
  -o  /root/.docker/cli-plugins/docker-buildx
sudo chmod +x /root/.docker/cli-plugins/docker-buildx

3、编译镜像

cd jms_mcp
sudo docker build -t jms-mcp:local .

4、启动容器

定义配置文件

sudo tee -a /opt/jms_mcp/.env  <<-'EOF'
api_token=<your-api-token>
jumpserver_url=http://<your-jumpserver-ip>
EOF

说明:这里的api_token就是在前面获取到的token,要改成你自己的。另外,<your-jumpserver-ip>为我jumpserver的ip,也要改为你的jumpserver机器IP或者域名

启动容器

sudo docker run -d --name jms_mcp \
  --env-file .env -p 8099:8099 jms-mcp:local

3.2.3 到Dify上添加Jumpserver MCP

这里假设你已经搭建完Dify。

菜单栏点击“工具”,再点击“MCP”,然后添加MCP服务

image/png

服务端点URL就是你MCP Server的地址,请求头那里需要定义用户的API Bearer Token(上一小节中获取的那个token)

image/png

点击添加并授权,需要等一段时间才能正常

image/png