当前位置: 首页 > news >正文

linux之ssh

SSH远程连接协议

SSH远程管理

定义

  • SSH(Secure Shell )是一种安全通道协议,主要用来实现字符界面的远程的登录、远程复制等功能。

  • SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。

优点

  • 安全性:数据传输是加密的,可以防止信息泄露

  • 身份验证:防止未经授权的用户访问远程系统

  • 远程管理:可通过SSH协议登录远程服务器并执行命令,无需直接物理访问设备

  • 端口转发:SSH支持端口转发功能,可以安全地传输其它协议和应用程序

  • 传输速度:数据传输是经过压缩的,可以提高传输速度

ssh服务的最佳设置

  1. 建议使用非默认端口 22

  2. 禁止使用protocol version 1

  3. 限制可登录用户 白名单

  4. 设定空闲会话超时时长

  5. 利用防火墙设置ssh访问策略

  6. 仅监听特定的IP地址 公网 内网

  7. 基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

  8. 使用基于密钥的认证

  9. 禁止使用空密码

  10. 禁止root用户直接登录

  11. 限制ssh的访问频度和并发在线数

  12. 经常分析日志 分离

客户端与服务器所使用的软件

  • 客户端软件

    • Putty、Xshell、CRT、MobaXterm

  • 服务器软件

    • OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。

    • CentOS 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。

SSH服务开启、端口号和配置文件路径

  • 开启SSH服务

systemctl start sshd
  • SSH服务的默认端口号:22

  • SSH服务的配置文件路径

    • 服务器端:

    /etc/ssh/sshd_config                #针对服务端的配置文件
    • 客户端

    /etc/ssh/ssh_config                 #针对客户端的配置文件

SSH程序名和主程序进程

sshd                    #程序名
/usr/sbin/sshd          #服务端主进程

加密方式

  • 对称加密

  1. 概念

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用

  1. 常用算法

DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等

  1. 特点

    1. 加密方和解密方使用同一个密钥

    2. 加密解密的速度比较快,适合数据比较长时的使用;

    3. 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;

  2. 优点

    1. 算法公开

    2. 计算量小

    3. 加密速度快

    4. 加密效率高

  3. 缺点

    1. 在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥

    2. 其次如果一方的秘钥被泄露,那么加密信息也就不安全了

    3. 每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担

  • 非对称加密

  1. 概念

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

  1. 常用算法

    1. RSA(RSA algorithm):目前使用最广泛的算法

    2. DSA(Digital Signature Algorithm):数字签名算法,和 RSA 不同的是 DSA仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快

    3. ECC(Elliptic curve cryptography,椭圆曲线加密算法)

    4. ECDSA:Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法,是ECC和 DSA的结合,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障

  2. 原理

  • 客户端向服务端发起连接请求

  • 服务端收到请求后,将会话id和服务端的公钥交给客户端

  • 客户端接收后,将会话id和客户端的公钥进行异或运算得到回复信息Res(Res=会话id^客户端公钥)

  • 客户端再将Res用服务端的公钥加密,得到密文U(U=Res+服务端的公钥id),并将密文U交给服务端

  • 服务端用服务端私钥将密文U解密,得到回复信息Res

  • 服务端将Res和会话id进行异或运算,得到客户端的公钥

OpenSSH服务端配置文件格式

sshd_config配置文件的常用选项

[root@localhost ~]# vim /etc/ssh/sshd_config
​
#Port 22                                    #端口号为22
#AddressFamily any
#ListenAddress 0.0.0.0                      #监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
​
​
#LoginGraceTime 2m                          #登录验证时间为2分钟
#PermitRootLogin yes                        #允许root用户登录
#StrictModes yes                            #检查.ssh/文件的所有者,权限等
#MaxAuthTries 6                             #最大重试次数为6
#MaxSessions 10                             #同一个连接最大会话为10个
​
#PubkeyAuthentication yes                   #基于key验证
​
UseDNS yes                                  #提高速度可改为no   内网改为no  禁用反向解析
​

黑名单和白名单限制配置

Allowusers……    #仅允许某某用户登陆(白名单)
​
Denyusers ……    #禁止某些用户登录,用法于AllowUsers 类似(黑名单,注意不要同时使用)

使用SSH程序

登录方式

准备工作

#服务端准备工作
[root@Root2 ~]# systemctl disable firewalld
[root@Root2 ~]# setenforce 0
#客户端准备工作
[root@Root1 ~]# systemctl disable firewalld
[root@Root1 ~]# setenforce 0
​
# 一定要关闭防火墙和降低限制,否则ssh服务无法重启!

默认端口登录远程主机
ssh 远程主机用户名@远程主机名或IP地址 -p 端口号
-p          #指定登录端口号(当服务端的端口号为非默认22时,需要使用-P来指定自定义的端口号)
[root@localhost ~]# ssh 192.168.20.90             #输入远程主机IP地址
The authenticity of host '192.168.20.90 (192.168.20.90)' can't be established.
ECDSA key fingerprint is SHA256:xI7IIfZIDyIu4JSxmY/+NIgNPdMoDdRCjOuzlJ3L9rk.
ECDSA key fingerprint is MD5:c3:14:88:de:b3:14:01:f3:ad:90:4a:80:0f:02:fc:d9.
Are you sure you want to continue connecting (yes/no)? yes  #确认是否连接
Warning: Permanently added '192.168.20.90' (ECDSA) to the list of known hosts.
root@192.168.20.90's password:                    #输入远程主机登录密码 
Last login: Mon Apr 29 09:21:28 2024 from 192.168.20.90
非默认端口登录远程主机

生产环境中作为安全加固设置必须配置

服务端
[root@Root2 ~]# vim /etc/ssh/sshd_config 
​
Port 224                            #ssh协议端口号更改为224
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
​
​
客户端
[root@Root1 ~]# vim /etc/ssh/sshd_config 
Port 224                            #ssh协议端口号更改为224,与服务端匹配
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
​
[root@Root1 ~]# ssh 192.168.20.90 -p 224                                                          #指定224端口号远程连接root2服务端
The authenticity of host '[192.168.20.90]:224 ([192.168.20.90]:224)' can't be established.
ECDSA key fingerprint is SHA256:xI7IIfZIDyIu4JSxmY/+NIgNPdMoDdRCjOuzlJ3L9rk.
ECDSA key fingerprint is MD5:c3:14:88:de:b3:14:01:f3:ad:90:4a:80:0f:02:fc:d9.
Are you sure you want to continue connecting (yes/no)? yes                                          #手动确认是否连接服务端
Warning: Permanently added '[192.168.20.90]:224' (ECDSA) to the list of known hosts.
root@192.168.20.90's password:                                                                    #输入服务端登录密码
Last login: Mon Apr 29 15:56:48 2024 from 192.168.20.90
[root@Root2 ~]#                                                                                     #远程登录root2服务端成功
​
免密码远程登录主机
  • 目的:使主机与主机之间远程登录时不再需要输入登录密码,增加操作的便利度

这里只是免密码登录而不是密钥登录,依旧保证密钥传输的安全性

  • 未设置免密码登录时的状态

[root@Root1 ~]# ssh 192.168.20.90 -p 224
root@192.168.20.90's password:                    #这里依旧需要输入服务端的登录密码
​
  • 扩展

    • -t :可以选择密钥的算法

    • [root@Root1 .ssh]# ssh-keygen --help
      unknown option -- -
      usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1][-N new_passphrase] [-C comment] [-f output_keyfile]
      #举例:
      ssh-keygen -t dsa/ecdsa/rsa/rsa1
      #如果不选择-t,就默认选择rsa算法

  • 操作步骤

    • root1为客户端

    • root2为服务端

  1. 在客户端生成密钥文件

[root@Root1 ~]# ssh-keygen                                      #免密码交互设置命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):        #第一次交互:指定密钥保存路径,可自定义,这里直接回车选择默认路径
Enter passphrase (empty for no passphrase):                     #第二次交互:提示密钥文件密码为空(未设置),询问是否设置密钥文件的密码,如果不                                                                            需要设置直接回车进入下一步
Enter same passphrase again:                                    #第三次交互:再次确认是否不设置密钥文件密码,回车确认不需要,完成生成密钥文件
Your identification has been saved in /root/.ssh/id_rsa.        #私钥文件路径
Your public key has been saved in /root/.ssh/id_rsa.pub.        #公钥文件路径
The key fingerprint is:
SHA256:GUULHPimIOZxS5apdT6hjqmE2yTm6QDOxOZ5ax5FQzc root@Root1
The key's randomart image is:
+---[RSA 2048]----+
|     . Eooo      |
|    . o oo .     |
|     = .. .      |
|. + X + oo       |
|.* O B +S        |
|O + + +          |
|+B.*   .         |
|===.+            |
|+=+o             |
+----[SHA256]-----+
​
[root@Root1 ~]# cd /root/.ssh
[root@Root1 .ssh]# ls
id_rsa                                                          #私钥文件
id_rsa.pub                                                      #公钥文件
​
  1. 将客户端的公钥远程复制到服务端

  • 复制命令

ssh-copy-id -i 公钥文件  [用户名]@IP地址 
#将密钥文件传过去
#下次就可以免密登录
#以root用户登录时 可省略
#-i为传输公钥文件的选项
  • 传输过程

[root@Root1 .ssh]# ssh-copy-id -i id_rsa.pub 192.168.20.90 -p 224
#将主机root1的公钥文件远程传输给root2服务端,这里也可以-p,因为端口被自定义为224了,如果是默认22,就不需要-p
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
The authenticity of host '[192.168.20.90]:224 ([192.168.20.90]:224)' can't be established.
ECDSA key fingerprint is SHA256:xI7IIfZIDyIu4JSxmY/+NIgNPdMoDdRCjOuzlJ3L9rk.
ECDSA key fingerprint is MD5:c3:14:88:de:b3:14:01:f3:ad:90:4a:80:0f:02:fc:d9.
Are you sure you want to continue connecting (yes/no)? yes              #提示是否建立连接
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.20.90's password:                                        #输入服务端登录密码
​
Number of key(s) added: 1                                               #提示信息表示传输成功
​
Now try logging into the machine, with:   "ssh -p '224' '192.168.20.90'"
and check to make sure that only the key(s) you wanted were added.
​
  • 验证

#公钥传输后的结果
[root@Root1 .ssh]# ssh 192.168.20.90 -p 224
Last login: Mon Apr 29 16:05:36 2024 from 192.168.20.91
#公钥传输前的结果
[root@Root1 ~]# ssh 192.168.20.92 -p 224
root@192.168.20.92's password:            
​
#作为对比,传输公钥后不再需要输入登录密码已经进入root2主机了,说明配置成功了

SSH远程控制服务端

命令

ssh 目标设备的IP地址 命令
#远程控制目标主机使用命令 并将命令执行结果返回本机
​
​
#主机root2的IP地址为192.168.20.92
[root@Root1 .ssh]# ssh 192.168.20.92 -p 224 ls                #查看主机B家目录下有哪些目录或文件 
anaconda-ks.cfg
core.1891
initial-setup-ks.cfg
公共
模板
视频
图片
文档
下载
音乐
桌面
[root@Root1 .ssh]#                                              #这里并没有切换到root2,说明已经通过客户端root1远程控制服务端root2
​

相关文章:

linux之ssh

SSH远程连接协议 SSH远程管理 定义 SSH&#xff08;Secure Shell &#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程的登录、远程复制等功能。 SSH协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令。因此SSH协议具…...

excel如何将多列数据转换为一列?

这个数据整理借用数据透视表也可以做到&#xff1a; 1.先将数据源的表头补齐&#xff0c;“姓名” 2.点击插入选项卡&#xff0c;数据透视表&#xff0c;在弹出对话框中&#xff0c;数据透视位置选择 现有工作表&#xff0c;&#xff08;实际使用时新建也没有问题&#xff09;…...

【Java 刷题记录】前缀和

前缀和 25. 一维前缀和 示例1&#xff1a; 输入&#xff1a; 3 2 1 2 4 1 2 2 3输出&#xff1a; 3 6import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(S…...

NVIDIA: RULER新测量方法让大模型现形

1 引言 最近在人工智能系统工程和语言模型设计方面的进展已经实现了语言模型上下文长度的高效扩展。以前的工作通常采用合成任务,如密钥检索和大海捞针来评估长上下文语言模型(LMs)。然而,这些评估在不同工作中使用不一致,仅揭示了检索能力,无法衡量其他形式的长上下文理解。 …...

2024数学-微积分和线性代数/本科研究生专业考试/考研/论文/重点公式考点汇总/最难公式投票

## 整体公式汇总列表 http://www.deepnlp.org/equation/category/math #### 微积分 ## 几何级数http://www.deepnlp.org/equation/arithmetic-and-geometric-progressions ## 级数收敛http://www.deepnlp.org/equation/convergence-of-series ## 二项式展开 http://www.dee…...

代码随想录训练营Day33(贪心算法):Leetcode1005、134、135(难得有一天能完全独立做出题目)

Leetcode1005: 题目描述&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数…...

Flutter笔记:Widgets Easier组件库(12)使用消息吐丝(Notify Toasts)

Flutter笔记 Widgets Easier组件库&#xff08;12&#xff09;使用消息吐丝&#xff08;Notify Toasts&#xff09; - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 29114848416…...

从《春色寄情人》学习如何面对死亡

经典台词&#xff0c;很震撼又很实用&#xff0c;记录一下。 ❤️01 有的时候好人不长命百岁&#xff0c;是因为老天爷觉得他们太累&#xff0c;让他们提前休息了&#xff01; ❤️02 跟我们亲近的人离世&#xff0c;有可能是老天给我们发的信号&#xff0c;提醒我们&#xff…...

使用moveit控制机械臂

在这篇博客中&#xff0c;我们将详细探讨如何利用Python和Robot Operating System&#xff08;ROS&#xff09;配合MoveIt! 控制机械臂执行精确的抓取任务。机械臂技术在工业自动化、医疗服务以及研究领域扮演着越来越关键的角色。本文将通过介绍安装必要的软件、编写控制脚本以…...

Mysql报错红温集锦(一)(ipynb配置、pymysql登录、密码带@、to_sql如何加速、触发器SIGNAL阻止插入数据)

一、jupyter notebook无法使用%sql来添加sql代码 可能原因&#xff1a; 1、没装jupyter和notebook库、没装ipython-sql库 pip install jupyter notebook ipython-sql 另外如果是vscode的话还需要安装一些相关的插件 2、没load_ext %load_ext sql 3、没正确的登录到mysql…...

ASP.NET Core SignalR 配置与集成测试究极指南

这篇文章也可以在我的博客中查看 前言 哥们最近都在埋头苦干&#xff0c;沉默是金&#xff0c;有一段时间没更新博客了。然而今儿SignalR集成测试实属是给我整破防了。虽说SignalR是.NET官方维护的实时通信库&#xff0c;已经开发了有十几年&#xff0c;甚至已经编入至了core…...

JENKINS 安装,学习运维从这里开始

Download and deployJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarehttps://www.jenkins.io/download/首先点击上面。下载Jenkins 为了学习&#xff0c;从windows开始&#x…...

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律&#xff08;Moores law&#xff09;是由英特尔&#xff08;Intel&#xff09;创始人之一戈登摩尔提出的。其内容为&#xff1a;集成电路上可容纳的晶体管数目&#xff0c;约每隔两年便会增加一倍&#xff1b;而经常被引用的“18个月”&#xf…...

四级英语翻译随堂笔记

降维表达&#xff1a;中译英&#xff0c;英译英 没有强调主语&#xff0c;没有说明主语&#xff1a;用被动 但如果实在不行&#xff0c;再增添主语 不会就不翻译&#xff0c;不要乱翻译 以xxx为背景&#xff1a;against the backdrop of the xxx eg:against the backdrop of…...

Nacos支持的配置格式及其在微服务架构中的应用

今天&#xff0c;我想和大家探讨一下Nacos这一重要的微服务组件&#xff0c;特别是它所支持的配置格式以及这些格式在微服务架构中的应用。 一、Nacos简介 Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它提供了服务发现、配置管理…...

2024年华为OD机试真题-小明找位置-(C++)-OD统一考试(C卷D卷)

题目描述: 小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。 算法复杂度要求不高于nLog(n);学号为整数类型,队列规模<=10000; 输入描述: 1、第一行:输入已排成队列的小朋友的学号(正整数),以”,”隔开; …...

机器人系统ros2内部接口介绍

内部 ROS 接口是公共 C API &#xff0c;供创建客户端库或添加新的底层中间件的开发人员使用&#xff0c;但不适合典型 ROS 用户使用。 ROS客户端库提供大多数 ROS 用户熟悉的面向用户的API&#xff0c;并且可能采用多种编程语言。 内部API架构概述 内部接口主要有两个&#x…...

跟随Facebook的足迹:社交媒体背后的探索之旅

在当今数字化时代&#xff0c;社交媒体已经成为了人们日常生活中不可或缺的一部分。而在这庞大的社交媒体网络中&#xff0c;Facebook作为其中的巨头&#xff0c;一直在引领着潮流。从创立之初的一个大学社交网络到如今的全球性平台&#xff0c;Facebook的发展历程承载了无数故…...

面试题分享之Java并发篇

注意&#xff1a;文章若有错误的地方&#xff0c;欢迎评论区里面指正 &#x1f36d; 系列文章目录 面试题分享之Java集合篇&#xff08;三&#xff09; 面试题分享之Java集合篇&#xff08;二&#xff09; 面试题分享之Java基础篇&#xff08;三&#xff09; 前言 今天给小…...

bpmn-js 多实例配置MultiInstanceLoopCharacteristics实现或签会签

使用bpmn-js流程图开发过程中会遇到会签和或签的问题,这个时候我们就需要使用多实例配置来实现BPMN 2.0的配置实现了,多实例任务,是从流程编辑概念之初也就是Activiti时期就存在的一个方式。所谓的多实例任务也就是字面意思,一个任务由多个人完成,常见于我们的审批流程的或…...

【gpedit.msc】组策略编辑器的安装,针对windows家庭版,没有此功能

创建一个记事本文件然后放入以下内容 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-…...

带EXCEL附件邮件发送相关代码

1.查看生成的邮件 2.1 非面向对象的方式&#xff08;demo直接copy即可&#xff09; ​ REPORT Z12. DATA: IT_DOCUMENT_DATA TYPE SODOCCHGI1,IT_CONTENT_TEXT TYPE STANDARD TABLE OF SOLISTI1 WITH HEADER LINE,IT_PACKING_LIST TYPE TABLE OF SOPCKLSTI1 WITH HEADER LIN…...

【算法作业】均分卡牌,购买股票

问题描述 John 有两个孩子&#xff0c;在 John病逝后&#xff0c;留下了一组价值不一定相同的魔卡&#xff0c; 现在要求你设计一种策略&#xff0c;帮John的经管人将John的这些遗产分给他的两个孩子&#xff0c;使得他们获得的遗产差异最小&#xff08;每张魔卡不能分拆&#…...

python作业

题目 分析 步骤&#xff1a; 判断先画空格还是数字 当有n层时&#xff0c;第i层有多少个空格第i层的起始数字是几&#xff0c;结尾是几&#xff0c;即数字取值范围当有n层时&#xff0c;第i层有多少个数字 代码 模式A n int(input("请输入行数:")) for i in range(…...

【Linux的文件篇章 - 管道文件】

Linux学习笔记---013 Linux的管道文件1、进程间通信1.1、进程为什么要通信&#xff1f;1.2、进程如何通信&#xff1f;1.3、进程通信的方式&#xff1f; 2、匿名管道2.1、理解一种现象2.2、基本概念和管道原理 3、管道的使用3.1、代码样例3.2、如何使用管道通信呢&#xff1f;3…...

C# 局部静态函数,封闭方法中的最佳选择

C# 局部静态函数&#xff0c;封闭方法中的最佳选择 简介特性 应用场景辅助计算递归与尾递归优化筛选与过滤操作查找与映射操作 生命周期静态局部函数 vs 普通局部函数性能封装性可读性 简介 C# 局部静态函数&#xff08;Local Static Functions&#xff09;是一种函数作用域内…...

【MySQL】MySQL 8.4.0 长期支持版(LTS)安装

就在2024年 “5.1” 节前&#xff0c;MySQL官方发布了8.4.0长期支持版&#xff08;LTS - Long Term Support&#xff09;。根据官方提供的文档&#xff0c;在本地虚拟机进行安装测试。 安装、配置和启动过程记录如下&#xff1a; 第一步&#xff0c;上传到安装包&#xff08;my…...

nest中的ORM

在 Nest.js 中执行 SQL 查询通常涉及使用 TypeORM 或 Sequelize 这样的 ORM&#xff08;对象-关系映射&#xff09;库。这些库使得在 Nest.js 应用程序中连接和操作 SQL 数据库变得更加简单和直观。 以下是一个使用 TypeORM 在 Nest.js 中执行 SQL 查询的示例代码&#xff1a;…...

TCP(Transmission Control Protocol,传输控制协议)如何保证数据的完整性?

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;通过一系列机制来保证数据传输的可靠性和无错性&#xff0c;这些机制主要包括&#xff1a; 校验和&#xff1a;TCP报文段包含一个校验和字段&#xff0c;用于检测数据在传输过程中是否出错。…...

Numpy库介绍

NumPy&#xff08;Numerical Python的缩写&#xff09;是Python中用于科学计算的一个强大的库。它提供了高性能的多维数组对象&#xff08;即ndarray&#xff09;、用于处理这些数组的工具以及用于数学函数操作的函数。让我为你介绍一下它的一些主要功能&#xff1a; 1. 多维数…...

临时有事无法及时签字盖章?试试用契约锁设置“代理人”

遇到“领导休假中、在开重要会议、外出考察或者主任医生手术中等”一段时间内不方便或者无法及时签字盖章的情况怎么办&#xff1f;业务推进不了只能干等&#xff1f; 契约锁电子签及印控平台支持印章、签名“临时授权”、“代理签署”&#xff0c;实现指定人、指定时间段、指定…...

数据库权限管理

1.查看系统级权限&#xff08;global level) Select * from mysql.user\G; 2.查看数据库中所有表的权限 Select * from mysql.db\G 3.远程连接数据库 第一步在有数据库服务上的主机上&#xff1a;授权 grant all on *.* to root192.168.40.83 identified by Zxy20234; 第…...

如何创建一个 Django 应用并连接到数据库

简介 Django 是一个用 Python 编写的免费开源的 Web 框架。这个工具支持可扩展性、可重用性和快速开发。 在本教程中&#xff0c;您将学习如何为一个博客网站建立与 MySQL 数据库的初始基础。这将涉及使用 django-admin 创建博客 Web 应用程序的骨架结构&#xff0c;创建 MyS…...

【算法刷题day44】Leetcode:518. 零钱兑换 II、377. 组合总和 Ⅳ

文章目录 Leetcode 518. 零钱兑换 II解题思路代码总结 Leetcode 377. 组合总和 Ⅳ解题思路代码总结 草稿图网站 java的Deque Leetcode 518. 零钱兑换 II 题目&#xff1a;518. 零钱兑换 II 解析&#xff1a;代码随想录解析 解题思路 先遍历物品&#xff0c;再遍历背包。 代码…...

『51单片机』AT24C02[IIC总线]

存储器的介绍 ⒈ROM的功能⇢ROM的数据在程序运行的时候是不容改变的&#xff0c;除非你再次烧写程序&#xff0c;他就会改变&#xff0c;就像我们的书本&#xff0c;印上去就改不了了&#xff0c;除非再次印刷&#xff0c;这个就是ROM的原理。 注→在后面发展的ROM是可以可写可…...

Jenkins与Rancher的配合使用

Jenkins和Rancher是两个常用的DevOps工具&#xff0c;可以很好地配合使用来实现持续集成和持续部署。 Jenkins是一个开源的自动化构建工具&#xff0c;可以实现自动化的代码构建、测试和部署等一系列操作。可以通过Jenkins来触发构建任务&#xff0c;例如从代码仓库中拉取最新的…...

GIS入门,常用的多边形平滑曲线算法介绍和JavaScript的多边形平滑曲线算法库chaikin-smooth的实现原理和使用

前言 本章介绍一下常用的多边形平滑曲线算法及其使用案例。 多边形平滑算法通常用于图形处理或计算机图形学中,以使线条或曲线在连接处平滑过渡,而不出现明显的棱角或断裂。多边形平滑算法有多种实现方法,其中一些常见的有下面几种: 贝塞尔曲线插值(Bezier Curve Interpo…...

气膜体育馆内部的采光效果如何?—轻空间

气膜体育馆内部的采光效果如何&#xff1f;这是许多人对这种创新建筑的一个关键关注点。 首先&#xff0c;气膜体育馆的采光性非常好。阳光透过屋顶时以漫射光的方式进入室内&#xff0c;这种透射方式使得室内的光线柔和而均匀。从内部观察&#xff0c;整个屋顶就像一个连续的明…...

矩阵的对称正定性判决(复习)

文章目录 本科学的数学知识忘的太快了 如何判断一个实矩阵是否是对称正定 在线性代数中&#xff0c;一个实对称矩阵是否为正定可以通过以下方法判断&#xff1a; 对称性&#xff1a; 首先&#xff0c;确认矩阵是否对称&#xff0c;即矩阵的转置是否等于其本身。 特征值检查&…...

网络安全之DHCP详解

DHCP&#xff1a;Dynamic Host Configration Protocol 动态主机配置协议 某一协议的数据是基于UDP封装的&#xff0c;当它想确保自己的可靠性时&#xff0c;这个协议要么选确认重传机制&#xff0c;要么选周期性传输。 DHCP是确认重传&#xff0c;【UDP|DHCP】,当DHCP分配完地…...

【Proteus】LED呼吸灯 直流电机调速

1.LED呼吸灯 #include <REGX51.H> sbit LEDP2^0; void delay(unsigned int t) {while(t--); } void main() {unsigned char time,i;while(1){for(time0;time<100;time){for(i0;i<20;i){LED0;delay(time);LED1;delay(100-time);}}for(time100;time>0;time--){fo…...

今天遇到一个GPT解决不了的问题

问题描述 你好&#xff0c;postman的一个post请求&#xff0c;编辑器里面放了一个很长的json数据&#xff0c;报Tokenization is skipped for long lines for performance reasons. This can be configured via editor.maxTokenizationLineLength.&#xff0c;但是同样的数据&a…...

优化SQL的方法

来自组内分享&#xff0c;包含了比较常使用到的八点&#xff1a; 避免使用select * union all代替union 小表驱动大表 批量操作 善用limit 高效的分页 用连接查询代替子查询 控制索引数量 一、避免使用select * 消耗数据库资源 消耗更多的数据库服务器内存、CPU等资源。 消…...

库存管理系统开源啦

软件介绍 ModernWMS是一个针对小型物流仓储供应链流程的开源库存管理系统。该系统的开发初衷是为了满足中小型企业在有限IT预算下对仓储管理的需求。通过总结多年ERP系统研发经验&#xff0c;项目团队开发了这套适用于中小型企业的系统&#xff0c;以帮助那些有特定需求的用户。…...

【java】接口

什么是接口 接口当中存在的是对方法的定义&#xff0c;而不是对方法的具体实现。 为什么不实现这个方法呢&#xff1f; 继承的本质是代码的复用。当一个父类会经常被继承&#xff0c;并且子类都要自己实现方法时&#xff0c;父类中的方法就会显得累赘&#xff0c;并且占用了…...

Java中的类型转换

一、类型转换 对类型转换来说分为向上类型转换和向下类型转换&#xff1a; 向上类型转换是自动完成的&#xff0c;一般是小类型向大类型转换。在引用类型中是子类型向父类型转换。向下类型转换是强制完成的&#xff0c;一般是大类型向小类型转换。在引用类型中是父类型向子类…...

定义范围对PFMEA分析的重要性——SunFMEA软件

在进行PFMEA分析时&#xff0c;定义范围是一个至关重要的步骤。这是因为&#xff0c;通过明确分析的范围&#xff0c;可以确保团队关注到最关键、最可能影响产品质量的过程&#xff0c;从而更有效地识别和解决潜在问题。今天SunFMEA软件和大家一起讨论定义范围对PFMEA操作的重要…...

json返回工具类|世界协调时间(UTC)

一、问题 世界协调时间&#xff08;UTC&#xff09;是一个标准的时间参考&#xff0c;通常被用于跨越不同时区的时间标准。要将 UTC 时间转换为中国时间&#xff08;中国标准时间&#xff09;&#xff0c;你需要将时间加上8个小时&#xff0c;因为中国位于 UTC8 时区。 初中知…...

MySQL·内置函数

目录 函数 日期函数 案例1&#xff1a;创建一张表&#xff0c;记录生日 案例2&#xff1a;创建一个留言表 案例3&#xff1a;请查询在2分钟内发布的帖子 字符串函数 案例1&#xff1a; 获取emp表的ename列的字符集 案例2&#xff1a;要求显示exam_result表中的信息&am…...

vue根据文字动态判断溢出...鼠标悬停显示el-tooltip展示

使用自定义el- tooltip 组件 定义 Tooltip是一种小型弹出框,它显示有关特定页面元素的信息,例如按钮、链接或图标。Tooltip通常以半透明的气泡形式呈现,并出现在页面元素的旁边或下方。 它可以改善用户体验,使用户更容易理解页面元素的功能和意图。用户可以通过将鼠标悬停…...

AIGC文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型 我们探索视频数据生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟…...

文档分类FastText模型 (pytorch实现)

文档分类FastText FastText简介层次softmaxN-gram特征FastText代码&#xff08;文档分类&#xff09; FastText简介 FastText与之前介绍过的CBOW架构相似&#xff0c;我们先来会议一下CBOW架构&#xff0c;如下图&#xff1a; CBOW的任务是通过上下文去预测中间的词&#xff0…...

贷款借钱平台 贷款源码 小额贷款系统 卡卡贷源码 小额贷款源码 贷款平台

贷款平台源码/卡卡贷源码/小贷源码/完美版 &#xff0c; 数据库替换application/database.php 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89268533 更多资源下载&#xff1a;关注我。...

workerman 实现推送实时数据到前端

首先要说明一下&#xff0c;实时推送是有两个socket服务端和两个socket的客户端 我们分别起名叫做 外层服务端 &#xff08;开启服务主进程 创建一个 websoket 连接&#xff09;ws:// 内层服务端 &#xff08;在开户主进程的时候&#xff0c;内部又创建的一个 socket&#xff0…...

20240514金融读报:超长期特别国债金融消费者保护服务平台数据资产与AIRPA流程

1、发行超长期特别国债支持“两重”建设&#xff08;国家重大战略实施和重点领域安全能力建设&#xff09; 2、金融消费者保护服务平台上线试运行&#xff0c;开通投诉处理和纠纷调解两项功能 3、万亿元超长期特别国债将呈现小额频发的特点。作用&#xff1a;他通过扩充政府融资…...

8个迹象表明你需要一台新笔记本电脑,看一下你的笔记本是否有其中一个

序言 当你第一次打开你的笔记本电脑的盒子时,它会以最高性能运行,电池寿命更长,过热最小,资源使用效率高。然而,随着笔记本电脑的老化,它将不能满足预期用途。以下几个迹象表明,可能是时候寻找并投资一款新设备了。 你的设备不再具有预期用途 如果你的笔记本电脑不再…...