CentOS 7下JumpServer安装及配置(超详细版)

news2024/11/16 22:35:00

前言

Jumpserver是一种用于访问和管理远程设备的Web应用程序,通常用于对服务器进行安全访问。它基于SSH协议,提供了一个安全和可管理的环境来管理SSH访问。Jumpserver是基于Python开发的一款开源工具,其提供了强大的访问控制功能,可以轻松实现用户、主机、命令和审计日志的管理。

Jumpserver的主要功能包括:

  1. 访问控制:Jumpserver提供了灵活的访问控制,可以根据用户、角色、主机、命令和时间等因素实现精细的控制。

  2. 统一认证:Jumpserver支持LDAP、AD、Radius等认证方式,可以实现与企业内部认证系统的集成。

  3. 会话管理:Jumpserver可以记录所有SSH会话并生成审计日志,以便管理人员了解用户的操作情况。

  4. 实时监控:Jumpserver可以实时监控SSH会话,并提供了实时监控面板,可以随时了解用户的操作情况。

  5. 审计日志:Jumpserver提供了完整的审计日志功能,包括用户登录、会话记录、命令执行情况等,方便管理人员进行安全审计和追溯。

  6. 多租户:Jumpserver支持多租户功能,可以实现不同租户的资源隔离和安全管理。

总之,Jumpserver是一款功能强大的安全访问控制系统,可以为企业提供强大的安全管理和审计功能。

目录

1 环境配置

2 修改字符集

3 安装软件包

4 编译安装

5 克隆(git clone)

6 下载Jumpserver

7 配置Jumpserver

 7.1 安装所需的Python modules

 7.2 安装Redis

 7.3 安装MySQL

 7.4 修改Jumpserver配置文件

 7.5 把配置写入config.yml文件

8 启动/关闭Jumpserver

9 部署koko

 9.1 使用docker部署

 9.2 手工下载部署

  9.2.1 部署

  9.2.2 启动koko 

 10 部署guacamole

 10.1 部署

 10.2 列出本地镜像

11 部署luna

12 配置nginx 

 12.1 nginx的安装

 12.2 配置nginx

 12.3 运行nginx

 12.4 修改nginx的主配置文件

13 Jumpserver登录测试


1 环境配置

(1)关闭防火墙。

systemctl stop firewalld

(2)关闭SELinux。

setenforce 0

# setenforce 1    #设置SELinux为强制模式
# setenforce 0    #设置SELinux为宽容模式

普及:

获取SELinux状态:

getenforce

getenforce是一个Linux命令,用于查看SELinux(Security-Enhanced Linux)安全机制的状态(SELinux是一款基于Linux内核的安全模块)。该命令可以显示当前SELinux的强制模式状态:enforcing(强制模式)、permissive(宽容模式)或disabled(禁用模式)。

2 修改字符集

修改字符集,否则可能报“input/output error”问题,因为日志里打印了中文。【逐个输入并运行以下命令】

localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

3 安装软件包

yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

如图,显示“完毕!”即表示我们安装成功!

接下来我们使用wget命令下载个Python的包,下载时间过长,耐心等待。

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz 

为了确保我们安装成功,我们可以使用ls命令查看下

如图即表示安装成功~接下来我们使用tar命令解压压缩包。

tar xf Python-3.6.1.tar.xz 

 使用ls命令查看,发现有Python-3.6.1即表示我们解压成功!

4 编译安装

首先我们要进入到Python-3.6.1这个目录。

cd Python-3.6.1

 编译安装(时间漫长,耐心等待)

./configure && make && make install

5 克隆(git clone)

进入opt目录下

cd /opt

使用Python3的环境。

python3 -m venv py3
source /opt/py3/bin/activate

运行完毕后会出现:(py3) [root@localhost opt]# 

使用git命令克隆

git clone git://github.com/kennethreitz/autoenv.git

【问题解决】 http://t.csdnimg.cn/OQUcr

问题一:

fatal: unable to connect to github.com:

github.com[0: 20.205.243.166]: errno=???? 

这是因为有些网络环境可能会限制Git 协议默认使用端口的访问,或者直接阻止使用Git协议。因此,我们需要将git://github.com/替换为https://github.com/,这样可以确保与GitHub进行通信。

git clone https://github.com/kennethreitz/autoenv.git

问题二:

fatal: unable to access 'https://github.com/kennethreitz/autoenv.git/': TCP connection reset by peer

我们需要取消http和https代理。 

git config --global --unset http.proxy
git config --global --unset https.proxy

 如图即表示我们成功啦~

克隆完成后,source默认使用bashrc

echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc

 使环境变量生效。

source ~/.bashrc

6 下载Jumpserver

我们还是使用克隆命令(git clone)下载并进入jumpserver目录(cd jumpserver)并将工作目录切换到主分支(git checkout master)。(时间漫长,耐心等待)

git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master

在此过程中遇到同等问题还是取消http、https代理即可。

7 配置Jumpserver

 7.1 安装所需的Python modules

进入 jumpserver 目录时将自动载入 python 虚拟环境.

echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env

安装依赖RPM包

cd requirements/

 输入y

 

yum -y install $(cat rpm_requirements.txt)

 安装Python依赖

pip install --upgrade pip

 阿里云源下载(更快)

pip install -r requirements.txt

【问题解决】

ERROR: Could not open requirements file: [Errno 2] 没有那个文件或目录: 'requirements.txt'

先创建requirements.txt 

pip freeze > requirements.txt

重新执行命令

pip install -r requirement.txt

 7.2 安装Redis

yum -y install redis

设置开机自启

systemctl enable redis

 启动redis

systemctl start redis

 7.3 安装MySQL

在centos里,默认的数据库是mariadb

yum -y install mariadb mariadb-devel mariadb-server

启动mariadb

systemctl start mariadb

设置开机自启

systemctl enable mariadb

进入mariadb

mysql

 创建jumpserver数据库默认使用utf8字符集

create database jumpserver default charset 'utf8';

 给本机授权

grant all on jumpserver.* to 'jumpserveradmin'@'127.0.0.1' identified by 'jumpserverpwd';

刷新数据库

flush privileges;

\q退出

\q

 7.4 修改Jumpserver配置文件

先进入/opt/jumpserver目录下。(因为我们刚才在/opt/jumpserver/requirements下,所以直接cd ..进入上一目录即可。)

cd ..
cp config_example.yml config.yml

生成随机SECRET_KEY
SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`

 注意:A-Za-z0-9 中不能有空格!且符号`不能写错,位置也不能错,否则将会遇到“-bash: /dev/urandom: 权限不够”的情况。

echo $SECRET_KEY

把SECRET_KEY写入bashrc中。

echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc

生成随机BOOTSTRAP_TOKEN
BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
echo $BOOTSTRAP_TOKEN

 

把BOOTSTRAP_TOKEN写入bashrc中。

echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc

 7.5 把配置写入config.yml文件

逐个运行如下指令

sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g" /opt/jumpserver/config.yml
sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/jumpserver/config.yml
sed -i "s/# DEBUG: true/DEBUG: false/g" /opt/jumpserver/config.yml
sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" /opt/jumpserver/config.yml
sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" /opt/jumpserver/config.yml
sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" /opt/jumpserver/config.yml
echo -e "\033[31m 你的SECRET_KEY是 $SECRET_KEY \033[0m"

echo -e "\033[31m 你的BOOTSTRAP_TOKEN是 $BOOTSTRAP_TOKEN \033[0m"

确认内容有没有错误 vi config.yml

vi config.yml

修改如图所示内容

修改成如图所示:

配置完成啦~

8 启动/关闭Jumpserver

在/opt/jumpserver路径下。

启动

./jms start 

【看到一堆ok即表示启动成功,如果没成功显示error则表示配置有问题,则重新vi config.yml配置】

 后台启动(后台运行使用 -d 参数)

./jms start -d

关闭

./jms stop

【问题解决】http://t.csdnimg.cn/8XoNi

Traceback (most recent call last):
  File "./jms", line 11, in <module>
    import django
ModuleNotFoundError: No module named 'django'

 

使用pip install 模块名下载。

pip install Django

下载完成后重新启动就好。

如果下载不成功,出现一堆红色下载不成功。

更新 pip 到最新版本 

pip install --upgrade pip

再执行一次就好了。

pip install Django

 最后一行显示successfully installed等表示成功安装django。

成功啦~

9 部署koko

koko支持终端管理,默认端口(port)为2222。

【提供两种方法,自行选择部署】

 9.1 使用docker部署

下载docker

yum -y install docker

 

启动docker

systemctl start docker

查看自己的IP地址。(IP地址在“2:ens33:”中inet后面)

ip a

Server_IP=自己的IP地址。

Server_IP=192.168.10.111

查看BOOTSTRAP_TOKEN值

echo $BOOTSTRAP_TOKEN

 根据查看的值输入下面指令。(值不一样,不要照搬下面指令)

BOOTSTRAP_TOKEN=BZYt8bkFhzZjAjc2
docker run --name jms_koko -d -p 2222:2222 -p 5000:5000 -e CORE_HOST=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_koko:1.5.5

显示comolete就说明部署完成啦~

 9.2 手工下载部署

【本人采用docker部署,所以手工部署就不附图啦~】

  9.2.1 部署

进入/opt目录。

cd /opt

使用wget命令下载压缩包。【官方网站:https://github.com/jumpserver/koko/releases】

wget https://github.com/jumpserver/koko/releases/download/1.5.2/koko-master-37daa82-linux-amd64.tar.gz

 解压

tar -xf koko-master-37daa82-linux-amd64.tar.gz

 进入/opt/kokodir

cd /opt/kokodir

授权

chown -R root:root /opt/kokodir

先使用cp命令备份一下(cp 源文件路径  目标文件夹)

cp config_example.yml config.yml

 编辑config.yul   https://docs.jumpserver.org/zh/v3/installation/source_install/koko_install/#13

vi config.yml

BOOTSTRAP_TOKEN需要 jumpserver/config.yml 里面获取,保证一致】 

# 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
# NAME: {{ Hostname }}



# Jumpserver项目的url, api请求注册会使用
CORE_HOST: http://127.0.0.1:8080   # Core 的地址



# Bootstrap Token, 预共享秘钥, 用来注册coco使用的service account和terminal
# 请和jumpserver 配置文件中保持一致,注册完成后可以删除
BOOTSTRAP_TOKEN: ********  # 和 Core config.yml 的值保持一致



# 启动时绑定的ip, 默认 0.0.0.0
BIND_HOST: 0.0.0.0



# 监听的SSH端口号, 默认2222
SSHD_PORT: 2222            # 使用 0.0.0.0:2222



# 监听的HTTP/WS端口号,默认5000
HTTPD_PORT: 5000           # 使用 0.0.0.0:5000



# 项目使用的ACCESS KEY, 默认会注册,并保存到 ACCESS_KEY_STORE中,
# 如果有需求, 可以写到配置文件中, 格式 access_key_id:access_key_secret
# ACCESS_KEY: null

# ACCESS KEY 保存的地址, 默认注册后会保存到该文件中
# ACCESS_KEY_FILE: data/keys/.access_key



# 设置日志级别 [DEBUG, INFO, WARN, ERROR, FATAL, CRITICAL]
LOG_LEVEL: DEBUG           # 开发建议设置 DEBUG, 生产环境推荐使用 ERROR



# SSH连接超时时间 (default 15 seconds)
# SSH_TIMEOUT: 15



# 语言 [en,zh]
# LANGUAGE_CODE: zh



# SFTP的根目录, 可选 /tmp, Home其他自定义目录
# SFTP_ROOT: /tmp



# SFTP是否显示隐藏文件
# SFTP_SHOW_HIDDEN_FILE: false



# 是否复用和用户后端资产已建立的连接(用户不会复用其他用户的连接)
# REUSE_CONNECTION: true



# 资产加载策略, 可根据资产规模自行调整. 默认异步加载资产, 异步搜索分页; 如果为all, 则资产全部加载, 本地搜索分页.
# ASSET_LOAD_POLICY:



# zip压缩的最大额度 (单位: M)
# ZIP_MAX_SIZE: 1024M



# zip压缩存放的临时目录 /tmp
# ZIP_TMP_PATH: /tmp



# 向 SSH Client 连接发送心跳的时间间隔 (单位: 秒),默认为30, 0则表示不发送
# CLIENT_ALIVE_INTERVAL: 30



# 向资产发送心跳包的重试次数,默认为3
# RETRY_ALIVE_COUNT_MAX: 3



# 会话共享使用的类型 [local, redis], 默认local
# SHARE_ROOM_TYPE: local



# Redis配置
# REDIS_HOST: 127.0.0.1      # 如果需要部署多个 koko, 需要通过 redis 来保持会话
# REDIS_PORT: 6379
# REDIS_PASSWORD:
# REDIS_CLUSTERS:
# REDIS_DB_ROOM:

  9.2.2 启动koko 

./koko

 10 部署guacamole

【基于HTML5和 JavaScript 的VNC查看器】

 10.1 部署

docker run --name jms_guacamole -d -p 8081:8081 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_guacamole:1.5.5

显示如图所示内容即表示部署成功!

【问题解决】

/usr/bin/docker-current: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See '/usr/bin/docker-current run --help'.

启动下docker就好啦~

systemctl start docker

或者重新启动下docker服务。

systemctl restart docker.service

 10.2 列出本地镜像

docker images

11 部署luna

与nginx结合支持Web Terminal前端。

进入opt目录。

cd /opt/

wget命令下载luna压缩包。

wget https://github.com/jumpserver/luna/releases/download/1.5.5/luna.tar.gz

 【问题解决】http://t.csdnimg.cn/h1KAe

[root@localhost opt]# wget https://github.com/jumpserver/luna/releases/download/1.5.5/luna.tar.gz
--2023-10-10 10:41:10--  https://github.com/jumpserver/luna/releases/download/1.5.5/luna.tar.gz
正在解析主机 github.com (github.com)... 20.205.243.166
正在连接 github.com (github.com)|20.205.243.166|:443... 已连接。
无法建立 SSL 连接。

原因:

wget在使用HTTPS协议时,默认会去验证其网站的证书,而这个证书验证经常会失败。

问题解决:

方法一:在后面加“--no-check-certificate”。(执行时候不验证SSL)

--no-check-certificate

【在最后加,在wget后面加还会报同样的错误】 

搞定啦~ 

方法二:将https换成http (更换协议,将https协议换成http)

解压

tar xf luna.tar.gz

授权

chown -R root:root luna

12 配置nginx 

 12.1 nginx的安装

http://t.csdnimg.cn/p03bl

1.配置nginx所需环境

yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel

pcre使nginx支持http rewrite模块

openssl 使nginx支持ssl

zlib提供nginx对http包的内容进行gzip压缩

2.获取nginx压缩包

方法一:在官网(https://nginx.org/en/download.html)直接下载.tar.gz压缩包,然后直接拉到linux里面/使用rz命令上传。(1.如果压缩包拉不进去,使用yum -y install lrzsz指令,再进行拉取。2.rz命令上传需先下载rz)

yum -y install lrzsz

方法二:使用wget命令下载(需要系统提前安装wget,如果没有安装,使用yum install wget进行安装。)

3.解压

解压到 /usr/local 下

tar xzvf nginx-1.23.1.tar.gz -C /usr/local/

4.配置

进入解压后的目录下。

cd /usr/local/nginx-1.23.1/

 可以配置啦~ O(∩_∩)O哈哈~

./configure --prefix=/usr/local/nginx 

5.编译安装

make && make install

 

编译安装成功!

 12.2 配置nginx

cd /usr/local/nginx/conf/

ls命令查看

创建conf.d文件夹

mkdir conf.d

cd conf.d/

 创建并编辑Jumpserver.conf【注意:一定是以.conf结尾。】

vi Jumpserver.conf

写入内容如下:

server {
    listen 80;

    client_max_body_size 100m;  # 录像及文件上传大小限制

    location /luna/ {
        try_files $uri / /index.html;
        alias /opt/luna/;  # luna 路径, 如果修改安装目录, 此处需要修改
    }

    location /media/ {
        add_header Content-Encoding gzip;
        root /opt/jumpserver/data/;  # 录像位置, 如果修改安装目录, 此处需要修改
    }

    location /static/ {
        root /opt/jumpserver/data/;  # 静态资源, 如果修改安装目录, 此处需要修改
    }

    location /socket.io/ {
        proxy_pass       http://localhost:5000/socket.io/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
    }

    location /koko/ {
        proxy_pass       http://localhost:5000/koko/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
    }

    location /guacamole/ {
        proxy_pass       http://localhost:8081/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
    }

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

 12.3 运行nginx

/usr/local/nginx/sbin/nginx

 后面加-t,显示ok,successful即表示运行成功~

 12.4 修改nginx的主配置文件

cd /usr/local/nginx/conf/

编辑nginx.conf文件。

vi nginx.conf 

编辑前:

在keepalive_timeout  65;下面添加如下命令。

include /usr/local/nginx/conf/conf.d/*.conf;

编辑后: 

编辑完成后保存退出。

重新启动nginx。

/usr/local/nginx/sbin/nginx -s reload

没有报错,就可以开始登录测试吧~

【如果报错,则表示刚才配置文件编写有问题,回去重新检查。】

13 Jumpserver登录测试

浏览器使用IP地址登录。

错误页面

 正确页面会显示Jumpserver开源堡垒机登录页面。

好啦,接下来就可以使用Jumpserver开源堡垒机啦~

创作不易,给个三连吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt应用开发(基础篇)——表格视图 QTableView

一、前言 QTableView类继承于QAbstractItemView类&#xff0c;提供了一个表格视图的模型。 视图基类 QAbstractItemView QTableView默认为Model/View实现。 //绑定view和model QStandardItemModel *model new QStandardItemModel(); ui->tableView->setModel(model);//…

手把手教你写一个JSON在线解析的前端网站1

前言 作为一名Android开发&#xff0c;经常要跟后端同事联调接口&#xff0c;那么总避免不了要格式化接口返回值&#xff0c;将其转换为清晰直观高亮的UI样式以及折叠部分内容&#xff0c;方便我们查看定位关键的信息。 一直以来都是打开Google 搜索json格式化关键字&#xf…

【无标题】期权交易的实际操作流程是什么?

期权可以进行双向交易&#xff0c;即投资者认为期权后期会上涨&#xff0c;则可以通过交易软件进行做多买入认购操作&#xff0c;如果认为它后期会下跌&#xff0c;则可以通过交易软件件进行做空买入认沽操作&#xff0c;下文介绍期权交易的实际操作流程是什么&#xff1f; 期权…

2023年中国手机回收量、手机回收价值及行业细分现状分析[图]

手机回收的主要去向包括再销售及环保降解两类。其中进行再交易的二手手机多为9成新及以上手机。二手手机最终去向主要为再销售及环保降解。 2016年以来&#xff0c;我国手机总体出货量持续下滑&#xff0c;2022年全年&#xff0c;国内市场手机总体出货量累计2.72亿部&#xff0…

【代码随想录】算法训练营 第一天 第一章 数组 Part 1

数组基础知识补充 1. 在leecode中&#xff0c;数组一般是以vector容器的形式出现的&#xff0c;虽然vector的底层实现是array&#xff0c;但严格来讲vector是容器&#xff0c;不是数组&#xff1b; 2. 数组元素的删除和增添都需要移动后续元素&#xff0c;而且在实现的角度上…

C++初阶 入门

目录 1.用C的方式写一个Hello World 2.命名空间 2.1什么是命名空间&#xff1f; 2.2使用命名空间 3.C的输入输出 前言&#xff1a;C初阶系列&#xff0c;每一期博主都会使用简单朴素的语言将对应的知识分享给大家&#xff0c;争取让所有人都可以听懂&#xff0c;C初阶系列…

跨境电商迎来全球5日达革命?菜鸟全球化再提速!

近年来&#xff0c;随着全球化进程的加速和跨境电商的蓬勃发展&#xff0c;物流速度成为了电商行业的竞争制高点之一。消费者不再满足于等待数周&#xff0c;甚至数月的国际快递&#xff0c;他们期望能够像本地购物一样迅速收到国际包裹。 在这一背景下&#xff0c;跨境电商物…

众佰诚:开一家抖音小店需要交押金不?

随着电商行业的不断发展&#xff0c;越来越多的商家开始尝试在不同的平台上开设自己的店铺。抖音作为国内最热门的短视频平台之一&#xff0c;也吸引了众多商家的目光。那么&#xff0c;开一家抖音小店需要交押金吗?接下来&#xff0c;我们就来详细了解一下。 首先&#xff0c…

山西电力市场日前价格预测【2023-10-13】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-13&#xff09;山西电力市场全天平均日前电价为228.86元/MWh。其中&#xff0c;最高日前价格为396.88元/MWh&#xff0c;预计出现在18: 30。最低日前电价为0.00元/MWh&#xff0c;预计出…

TCP/IP(十二)TCP的确认、超时、重传机制

一 TCP的确认应答机制 确认应答机制: 每次收到数据 都会 给对端发送一个应答报文(ACK) ① 带重传的肯定确认 确认机制: 超时 重传的 肯定 确认 --> 完成了两个作用,或者说有两个含义1、肯定[正确] 确认小结&#xff1a; 我的确认信息是针对正确数据做确认,而不是错误…

YOLOv5算法改进(2)— 注意力机制介绍(SE、CBAM和CA)

前言:Hello大家好,我是小哥谈。注意力机制是近年来深度学习领域内的研究热点,可以帮助模型更好地关注重要的特征,从而提高模型的性能。注意力机制可被应用于模型的不同层级,以便更好地捕捉图像中的细节和特征,这种模型在计算资源有限的情况下,可以实现更好的性能和效率。…

免费SSL证书

在当今数字化时代&#xff0c;保护用户数据和建立安全连接至关重要。对于网站管理员和拥有者来说&#xff0c;SSL证书&#xff08;Secure Sockets Layer&#xff09;是确保安全的关键工具之一。但是&#xff0c;传统上购买和维护SSL证书可能会带来昂贵的成本和繁琐的流程。幸运…

百度车牌识别AI Linux使用方法-armV7交叉编译

1、获取百度ai的sdk 百度智能云-登录 (baidu.com) 里面有两个版本的armV7和armV8架构。v7架构的性能比较低往往需要交叉编译&#xff0c;v8的板子性能往往比较好&#xff0c;可以直接在板子上编译。 解压到ubuntu里面。这里介绍v7架构的。 2、ubuntu环境配置 ubuntu下安装软件…

学生静态HTML网页作品下载后如何导入到HBuilderX中编辑修改及运行

很多同学编辑网页要求使用HBuilder X软件&#xff0c;下载学生网页设计作品后&#xff0c;不知道如何打开&#xff0c;很多同学反应把HTML中的代码复制到HBuilder X后不显示图片或者跑版。今天STU网页为大家讲解下静态HTML网页作品如何导入HBuilder X中运行。 HBuilder X 导入…

『PyQt5-Qt Designer篇』| 13 Qt Designer中如何给工具添加菜单和工具栏?

13 Qt Designer中如何给工具添加菜单和工具栏? 1 创建默认窗口2 添加菜单栏3 查看和调用1 创建默认窗口 当新创建一个窗口的时候,默认会显示有:菜单栏和状态栏,如下: 可以在菜单栏上右键-移除菜单栏: 可以在菜单栏上右键-移除状态栏: 2 添加菜单栏 在窗口上,右键-创建…

城市排水管网监测方案(新型排水管网智能监测技术)

随着我国城市化进程不断加快,城市的排水管网也日益增长并变得复杂,对其进行实时监测以确保正常运行变得极为重要。针对此需求,基于工业物联网技术的新型智能排水管网监测系统为城市排水管网的运行与维护提供了有效手段。 该智能排水管网监测系统以无线通讯功能强大的SG600工业…

VMware和Debian下载

文章目录 ⭐️写在前面的话⭐️一、VMware二、Debain三、建立虚拟机&#x1f680; 先看后赞&#xff0c;养成习惯&#xff01;&#x1f680;&#x1f680; 先看后赞&#xff0c;养成习惯&#xff01;&#x1f680; ⭐️写在前面的话⭐️ CSDN主页&#xff1a;程序员好冰 目前在…

uniapp + vue3 静态图片引入

方法一 从新定义路径 一定看好你图片的路径 代码 <template><div class"main">Main<img :src"getImg()" alt""></div> </template><!-- 方式一 // <script setup> // let imgName logo.png // cons…

共享WiFi二维码项目如何加盟代理?有哪些注意事项!

随着移动互联网的发展&#xff0c;如今WiFi热点已成为人们日常生活的必需品。而共享wifi二维码项目也渐渐成为了一个非常有前景的共享商业模式。用户可以通过扫共享wifi二维码享受免费的上网服务&#xff0c;而加盟商则可以赚取一定的推广费用&#xff0c;是一种非常理想的商业…

ppt怎么压缩到10m以内?分享ppt缩小方法

在日常工作中&#xff0c;我们常常需要制作和分享PowerPoint演示文稿&#xff0c;然而&#xff0c;有时候文稿中的图片、视频等元素会导致文件过大&#xff0c;无法在电子邮件或其他平台上顺利传输。为了将PPT文件压缩到10M以内&#xff0c;我们可以使用一些专门的文件压缩工具…