ubuntu22.04的docker容器中安装ssh服务
ubuntu22.04的docker容器中安装ssh服务,以便外部可以连接到容器中操作。
root@node15:~# cat /etc/issue
Ubuntu 22.04.5 LTS \n \l
root@node15:~# docker ps|grep qwen
7d3c36c37d36 vllm/vllm-openai:v0.7.3 "python3 -m vllm.ent…" 45 hours ago Up 45 hours 0.0.0.0:8102->8000/tcp, :::8102->8000/tcp qwen2.5-vl-72b
root@node15:~# docker exec -it qwen2.5-vl-72b /bin/bash
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN
bash: netstat: command not found
root@7d3c36c37d36:/vllm-workspace# apt install net-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
net-tools
0 upgraded, 1 newly installed, 0 to remove and 78 not upgraded.
Need to get 204 kB of archives.
After this operation, 819 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 net-tools amd64 1.60+git20181103.0eebece-1ubuntu5 [204 kB]
Fetched 204 kB in 1s (144 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package net-tools.
(Reading database ... 29384 files and directories currently installed.)
Preparing to unpack .../net-tools_1.60+git20181103.0eebece-1ubuntu5_amd64.deb ...
Unpacking net-tools (1.60+git20181103.0eebece-1ubuntu5) ...
Setting up net-tools (1.60+git20181103.0eebece-1ubuntu5) ...
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN
tcp 0 0 127.0.0.11:44857 0.0.0.0:* LISTEN -
tcp 0 0 192.168.48.2:58107 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:59035 0.0.0.0:* LISTEN 311/python3
tcp 0 0 192.168.48.2:60607 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:53561 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:55133 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:54617 0.0.0.0:* LISTEN 311/python3
tcp 0 0 192.168.48.2:57269 0.0.0.0:* LISTEN 311/python3
tcp 0 0 192.168.48.2:56415 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:56765 0.0.0.0:* LISTEN 311/python3
tcp 0 0 192.168.48.2:49247 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:52421 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:45507 0.0.0.0:* LISTEN 311/python3
tcp 0 0 127.0.0.1:44069 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:46687 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:46935 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:46121 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:46513 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:48837 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:41667 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:41097 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:42797 0.0.0.0:* LISTEN 310/python3
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 1/python3
tcp 0 0 192.168.48.2:37179 0.0.0.0:* LISTEN 311/python3
tcp 0 0 192.168.48.2:38189 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:40845 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:40249 0.0.0.0:* LISTEN 68/python3
tcp 0 0 192.168.48.2:34167 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:35607 0.0.0.0:* LISTEN 310/python3
tcp 0 0 192.168.48.2:36851 0.0.0.0:* LISTEN 309/python3
tcp 0 0 192.168.48.2:36699 0.0.0.0:* LISTEN 311/python3
tcp6 0 0 :::56307 :::* LISTEN 68/python3
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# apt install ssh
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libwrap0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
Suggested packages:
molly-guard monkeysphere ssh-askpass ufw
The following NEW packages will be installed:
libwrap0 ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id
4;2m
c
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
#HostbasedAuthentication no
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
KbdInteractiveAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
4;m"/etc/ssh/sshd_config" 122L, 3239B written
4;m
0 upgraded, 6 newly installed, 0 to remove and 78 not upgraded.
Need to get 804 kB of archives.
After this operation, 6291 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-sftp-server amd64 1:8.9p1-3ubuntu0.11 [38.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libwrap0 amd64 7.6.q-31build2 [47.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 openssh-server amd64 1:8.9p1-3ubuntu0.11 [435 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ssh all 1:8.9p1-3ubuntu0.11 [4852 B]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 ncurses-term all 6.3-2ubuntu0.1 [267 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 ssh-import-id all 5.11-0ubuntu1 [10.1 kB]
Fetched 804 kB in 6s (146 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package openssh-sftp-server.
(Reading database ... 29433 files and directories currently installed.)
Preparing to unpack .../0-openssh-sftp-server_1%3a8.9p1-3ubuntu0.11_amd64.deb ...
Unpacking openssh-sftp-server (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package libwrap0:amd64.
Preparing to unpack .../1-libwrap0_7.6.q-31build2_amd64.deb ...
Unpacking libwrap0:amd64 (7.6.q-31build2) ...
Selecting previously unselected package openssh-server.
Preparing to unpack .../2-openssh-server_1%3a8.9p1-3ubuntu0.11_amd64.deb ...
Unpacking openssh-server (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package ssh.
Preparing to unpack .../3-ssh_1%3a8.9p1-3ubuntu0.11_all.deb ...
Unpacking ssh (1:8.9p1-3ubuntu0.11) ...
Selecting previously unselected package ncurses-term.
Preparing to unpack .../4-ncurses-term_6.3-2ubuntu0.1_all.deb ...
Unpacking ncurses-term (6.3-2ubuntu0.1) ...
Selecting previously unselected package ssh-import-id.
Preparing to unpack .../5-ssh-import-id_5.11-0ubuntu1_all.deb ...
Unpacking ssh-import-id (5.11-0ubuntu1) ...
Setting up openssh-sftp-server (1:8.9p1-3ubuntu0.11) ...
Setting up ssh-import-id (5.11-0ubuntu1) ...
Setting up libwrap0:amd64 (7.6.q-31build2) ...
Setting up ncurses-term (6.3-2ubuntu0.1) ...
Setting up openssh-server (1:8.9p1-3ubuntu0.11) ...
Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:5KlUbR+mj4rQYm1FD30BYwYRAqzWgwXONXGW610/Hj0 root@7d3c36c37d36 (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:kGZUG3xhPLQPF1ujDnW+MJdXx45kqoDTC9Vf26BvCD0 root@7d3c36c37d36 (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:OIcPYhmTREwAXKbdibbwDIZlxzLsHryXVgvu1o0lvT4 root@7d3c36c37d36 (ED25519)
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
Setting up ssh (1:8.9p1-3ubuntu0.11) ...
Processing triggers for libc-bin (2.35-0ubuntu3.4) ...
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# systemctl restart sshd
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/
moduli ssh_config.d/ ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub sshd_config
ssh_config ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key ssh_import_id sshd_config.d/
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/
moduli ssh_config.d/ ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub sshd_config
ssh_config ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key ssh_import_id sshd_config.d/
允许root登录
root@7d3c36c37d36:/vllm-workspace# vi /etc/ssh/sshd_config
root@7d3c36c37d36:/vllm-workspace# passwd root
New password:
Retype new password:
passwd: password updated successfully
启动ssh服务:
exit
root@node15:/disk2/qwen-2.5-vl-72b# docker exec -it qwen2.5-vl-72b /bin/bash
root@7d3c36c37d36:/vllm-workspace# service ssh stop
* Stopping OpenBSD Secure Shell server sshd [ OK ]
root@7d3c36c37d36:/vllm-workspace# service ssh start
* Starting OpenBSD Secure Shell server sshd [ OK ]
root@7d3c36c37d36:/vllm-workspace# service ssh status
* sshd is running
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1290/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 1290/sshd: /usr/sbi
root@7d3c36c37d36:/vllm-workspace# service ssh stop
* Stopping OpenBSD Secure Shell server sshd [ OK ]
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# /usr/sbin/sshd -D &
[1] 1322
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1322/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 1322/sshd: /usr/sbi
root@7d3c36c37d36:/vllm-workspace# service ssh stop
* Stopping OpenBSD Secure Shell server sshd [ OK ]
[1]+ Done /usr/sbin/sshd -D
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
root@7d3c36c37d36:/vllm-workspace# /usr/sbin/sshd -D &
[1] 1345
root@7d3c36c37d36:/vllm-workspace#
root@7d3c36c37d36:/vllm-workspace# /etc/init.d/ssh start
* Starting OpenBSD Secure Shell server sshd [ OK ]
root@7d3c36c37d36:/vllm-workspace# netstat -tunlp|grep LISTEN|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1189/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 1189/sshd: /usr/sbi
root@7d3c36c37d36:/vllm-workspace#
保存容器:
root@node15:~# docker ps|grep llm
7d3c36c37d36 vllm/vllm-openai:v0.7.3 "python3 -m vllm.ent…" 45 hours ago Up 45 hours 0.0.0.0:8102->8000/tcp, :::8102->8000/tcp qwen2.5-vl-72b
root@node15:~# docker commit 7d3c36c37d36 vllm/vllm-openai:v0.7.3
sha256:68e6945f7f6bbbb14451a181461d45f6625044e3b776b42d9efaafcf57dd40bf
root@node15:~# docker images|grep llm
vllm/vllm-openai v0.7.3 68e6945f7f6b 10 seconds ago 16.5GB
vllm/vllm-openai <none> a0b3e59739e9 3 days ago 16.4GB
vllm/vllm-openai v0.6.5 56aa649484bf 2 months ago 10.1GB
重启docker,增加端口映射:
root@node15:~# cd /disk2/qwen-2.5-vl-72b
root@node15:/disk2/qwen-2.5-vl-72b# more docker-compose.yml
services:
# vllm
vllm-openai:
image: vllm/vllm-openai:v0.7.3
container_name: qwen2.5-vl-72b
restart: unless-stopped
runtime: nvidia
ports:
- 8102:8000
- 8122:22
volumes:
- /disk2/:/models
command: >
--model /models/qwen-2.5-vl-72b
--tokenizer_mode="auto"
--dtype=bfloat16
--tensor_parallel_size=4
--gpu-memory-utilization=0.9
--max-model-len=16384
--served-model-name=Qwen2.5-VL-72B-Instruct
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
device_ids: [ "0","1","2","3" ]
ipc: host
networks:
vllm:
启停容器
root@node15:/disk2/qwen-2.5-vl-72b#
docker compose -f docker-compose.yml down
docker compose -f docker-compose.yml up -d
相关文章:

ubuntu22.04的docker容器中安装ssh服务
ubuntu22.04的docker容器中安装ssh服务,以便外部可以连接到容器中操作。 rootnode15:~# cat /etc/issue Ubuntu 22.04.5 LTS \n \l rootnode15:~# docker ps|grep qwen 7d3c36c37d36 vllm/vllm-openai:v0.7.3 "python3 -m …...
卷积这个词在卷积神经网络中应该怎么理解
卷积的定义 数学概念: 在数学上,卷积是一种操作,通常用于两个函数之间的运算。对于图像处理而言,这些函数通常是输入图像和一个称为“卷积核”或“滤波器”的小矩阵。 在CNN中的应用: 卷积操作是通过滑动窗口…...
设计模式教程:迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)是设计模式中的一种行为型模式,它允许顺序访问一个集合对象中的元素,而无需暴露集合对象的内部结构。换句话说,迭代器模式提供了一个方法,能让你遍历集合中的元素,…...

C语言学习【1】C语言关于寄存器的封装
目录 1.封装寄存的C语言的语法volatile:unsigned int:*pGpiobOdrvolatile unsigned int * 2.进一步C语言的封装 在嵌入式中,底层一定是操作寄存器,我有一个理念,凡事一定要想清楚,把任何知识点融入自己的理解之中&…...
鸿蒙app 开发中的 == 和 === 的区别
在鸿蒙 App 开发中,如果你使用 JavaScript 或 TypeScript 进行编码, 和 是用于比较值的运算符,它们的主要区别在于比较的严格程度,下面为你详细介绍: 1. (宽松相等运算符) 比较规则࿱…...
【算法】冒泡排序
目录 一、算法概述 二、算法原理 1. 核心思想 2. 排序过程演示 三、标准实现代码 四、时间复杂度分析 五、优化策略 1. 提前终止优化 2. 记录最后交换位置 六、算法特性 七、实际应用 八、扩展思考 九、总结 一、算法概述 冒泡排序(Bubble Sort࿰…...
R Excel 文件:高效数据处理的利器
R Excel 文件:高效数据处理的利器 在数据分析领域,R语言因其强大的统计分析和可视化功能而备受推崇。而R Excel文件,作为R语言与Excel的桥梁,使得数据在R和Excel之间的高效转换成为可能。本文将详细介绍R Excel文件的概念、应用场景以及操作方法。 一、R Excel文件的概念…...

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
一. 使用工具和命令 1.1 使用的工具 Navicat Premium 17 :“Navicat”是一套可创建多个连接的数据库管理工具。 MySQL版本8.0.39 。 1.2 使用的命令 Navicat中使用的命令 命令 命令解释 SHOW DATABASES; 展示所有的数据库 CREATE DATABASE 数据…...

电力通信物联网应用,国密网关守护电力数据安全
电力国密网关是用于保护电力调度数据网路由器和电力系统的局域网之间通信安全的电力专用网关机,主要为上下级控制系统之间的广域网通信提供认证与加密服务,实现数据传输的机密性、完整性。 国密算法网关功能特点 身份认证:对接入的设备和用户…...
vue:vite 代理服务器 proxy 配置
Vite 代理服务器(Proxy)的配置通常用于开发环境,以解决跨域请求等问题。以下是一个详细的配置步骤: 通过以上步骤,你就可以在 Vite 项目中配置代理服务器,以便在开发过程中方便地访问后端服务。 找到 Vi…...

Java【网络原理】(2)初识网络续与网络编程
目录 1.前言 2.正文 2.1TCP协议与UDP协议 2.2socket API进行网络编程 2.2.1DatagramPacket类 2.2.1.1发送数据报 2.2.1.2接收数据报 2.2.1.3获取数据报内容 2.2.1.4设置数据报内容 2.2.2DatagramSocket类 2.2.2.1构造方法 2.2.2.2常用方法 2.2.3具体代码与解释 3…...

AI+集装箱号码识别技术,主要发展方向和应用潜力
集装箱号码识别技术作为物流数字化的重要工具,其应用前景随着全球供应链的智能化升级和绿色转型需求不断扩大。结合当前技术发展和行业实践,以下是其未来的主要发展方向和应用潜力: 1.物流与港口智能化管理 自动化识别与效率提升࿱…...

安装可视化jar包部署平台JarManage
一、下载 下载地址:JarManage 发行版 - Gitee.com 🚒 下载 最新发行版 下载zip的里面linux和windows版本都有 二、运行 上传到服务器,解压进入目录 🚚 执行java -jar jarmanage-depoly.jar 命令运行 java -jar jarmanage-dep…...
后端之JPA(EntityGraph+JsonView)
不同表之间的级联操作或者说关联查询是很多业务场景都会用到的。 对于这种需求最朴素的方法自然是手动写关联表,然后对被关联的表也是手动插入数据。但是手写容易最后写成一堆shit代码,而且修改起来也是非常麻烦的。 学会使用现成的工具还是非常有利的…...

Java数据结构第十三期:走进二叉树的奇妙世界(二)
专栏:数据结构(Java版) 个人主页:手握风云 目录 一、二叉树的遍历 1.1. 前序遍历 1.2. 中序遍历 1.3. 后序遍历 1.4. 完整代码 二、二叉树的基本操作 2.1. 获取树中结点个数 2.1. 获取叶子结点个数 2.3. 获取第k层结点的个数 2.4. 获取二叉树的…...
JavaScript系列(86)--现代构建工具详解
JavaScript 现代构建工具详解 🔨 现代前端开发离不开构建工具,它们帮助我们处理模块打包、代码转换、资源优化等任务。让我们深入了解主流的构建工具及其应用。 构建工具概述 🌟 💡 小知识:构建工具主要解决代码转换…...

docker容器网络配置及常用操作
Linux内核实现名称空间的创建 ip netns(网络名称空间)命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。 注意&am…...
Docker 性能优化指南
Docker 提供了强大的容器化功能,能够帮助开发者在不同的环境中构建、测试和部署应用。然而,随着容器化应用的不断增长,Docker 容器可能会面临一些性能瓶颈,影响其运行效率、资源占用和扩展能力。为了确保容器在生产环境中的高效运…...

课程1. 深度学习简介
课程1. 深度学习简介 神经网络结构逻辑回归XOR问题(异或问题) 中间特征的生成全连接神经网络中间网络层的激活函数Sigmoid函数Tanh函数ReLU函数其它激活函数 使用全连接神经网络解决 XOR 问题神经网络用于回归问题训练神经网络 不同类型的神经网络 附加材…...

【cuda学习日记】4.3 结构体数组与数组结构体
4.3 数组结构体(AoS)和结构体数组(SoA) AoS方法进行存储 struct innerStruct{float x;float y; };struct innerStruct myAOS[N];SoA方法来存储数据 struct innerArray{float x[N];float y[N]; };struct innerArray moa;如图说明…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...