systemd和OpenSSH

1 systemd
1.1 配置文件
/etc/systemd/system
/lib/systemd/system
/run/systemd/system
/usr/lib/systemd/user

1.2 commands
systemctl list-unit-files | grep enable

systemctl cat dlt-daemon.service
systemctl cat dlt-system.service

systemctl show dlt-daemon.service
systemctl show dlt-system.service

systemctl start dlt-recv-daemon.service
systemctl start sshd.socket

systemctl status dlt-system.service

journalctl -xe | grep xxx
dlt-receive -a localhost

1.3 dev-xxx.device
udev rules TAG+="systemd" for dev-xxx.device.
ACTION=="add|bind|change", KERNEL=="xxx", MODE="0660", TAG+="systemd", GROUP="xxx"

systemctl show dev-xxx.device --property=Before

1.4 systemd-analyze
安装ipk
-packages/aarch64/
opkg install stress-ng_xxx.ipk
opkg install systemd-analyze_xxx.ipk

查看启动耗时
systemd-analyze

查看每个服务的启动耗时
systemd-analyze blame

显示瀑布状的启动过程流
systemd-analyze critical-chain

显示指定服务的启动流
systemd-analyze critical-chain atd.service

2 ssh基于用户/口令登录
step 1:客户端发起ssh请求,服务器会把自己的公钥/etc/ssh/ssh_host*key.pub发送给用户
step 2:用户会根据服务器发来的公钥对密码进行加密
step 3:加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

3 sshd
3.1 sshd.socket和sshd.service
Ubuntu的sshd服务默认是由sshd.service文件启动的;
ARM Linux的sshd服务默认是由sshd.socket文件启动的;
可以按照下面的方法来确认服务是如何启动的。
systemctl status sshd.service
systemctl status sshd.socket

3.2 socket服务与service服务的异同
旧有的方式sshd.service模式会在后台保持一个sshd的守护进程,每当有ssh连接要建立时,就创建一个新进程。
新的sshd.socket方式也是在每次要建立新的ssh连接时生成一个守护进程的实例,不过监听端口则是交给了systemd来完成,意味着没有ssh连接的时候,也不会有sshd守护进程运行,大部分情况下,使用sshd.socket服务更为合适。

3.3 sshd_config
mount -o remount,rw /
/etc/ssh/sshd_config
PubkeyAuthentication no
PasswordAuthentication yes
PermitEmptyPasswords yes

3.4 journalctl
/lib/systemd/system/sshd@.service
sshd@0-IP_addr:22-IP_addr:60946.service

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

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

相关文章

如何实现一个可视化的文字编辑器(C语言版)?

一、软件安装 Visual Studio 2022 Visual Studio 2022 是微软提供的强大集成开发环境(IDE),广泛用于C/C、C#、Python等多种编程语言的开发。它提供了许多强大的工具,帮助开发者编写、调试和优化代码。 1.下载 Visual Studio 202…

ArrayList的特点及应用场景

ArrayList的特点及应用场景 一、ArrayList核心特点 基于动态数组实现 底层使用Object[]数组存储元素 默认初始容量为10 扩容机制:每次扩容为原来的1.5倍(int newCapacity oldCapacity (oldCapacity >> 1)) 快速随机访问 实现了R…

深挖Java基础之:变量与类型

今天我要介绍的是在Java中对变量和类型的一些相关知识点的介绍,包括对基本数据类型,引用类型,变量命名规则和类型转换以及其注意事项的解明。 java变量与类型:Java 是静态类型语言,变量必须先声明类型后使用。变量是存…

数据结构与算法学习笔记(Acwing提高课)----动态规划·背包模型(一)

数据结构与算法学习笔记----动态规划背包模型(一) author: 明月清了个风 first publish time: 2025.5.1 ps⭐️背包模型是动态规划中的重要模型,基础课中已对背包模型的几种模版题有了讲解,[链接在这](数据结构与算法学习笔记----背包问题_有 n 件物品…

Java关键字解析

Java关键字是编程语言中具有特殊含义的保留字,不能用作标识符(如变量名、类名等)。Java共有50多个关键字(不同版本略有差异),下面我将分类详细介绍这些关键字及其使用方式。 一、数据类型相关关键字 1. 基…

vue自定义表头内容excel表格导出

1、安装 npm install xlsx file-saver 2、使用 import * as XLSX from xlsx import { saveAs } from file-saverconst exportAccounts (data) > {// 将对象数组转换为 worksheetconst worksheet XLSX.utils.json_to_sheet(data)// 创建 workbook 并附加 sheetconst wor…

鸿蒙NEXT开发组件截图和窗口截图工具类SnapshotUtil(ArkTs)

import { image } from kit.ImageKit; import { componentSnapshot, window } from kit.ArkUI; import { AppUtil } from ./AppUtil; import { ArrayUtil } from ./ArrayUtil;/*** 组件截图和窗口截图工具类* author 鸿蒙布道师* since 2025/04/28*/ export class SnapshotUtil…

C#与SVN的深度集成:实现版本控制自动化管理​

目录 1. 环境准备 2. 创建 C# 工程 3. 引用 SharpSvn 库 4. 编写代码 1. 环境准备 2. 创建 C# 工程 3. 引用 SharpSvn 库 4. 编写代码 5. 代码说明 6. 注意事项 1. 环境准备 首先,需要安装 SharpSvn 库。可以从 SharpSvn 官方网站 下载适合 .NET Framewor…

本文不定期更新,用于收录各种怪异的python脚本

1.计算自然数对数底 a b 1 for n in range(1, 1001):a a * n 1b b * n t a % br . for i in range(1, 1001):t 10if t < b:r 0else:r str(t // b)t % bprint(str(a//b) r) 得到 2.7182818284590452353602874713526624977572470936999595749669676277240766303…

日志之ClickHouse部署及替换ELK中的Elasticsearch

文章目录 1 ELK替换1.1 Elasticsearch vs ClickHouse1.2 环境部署1.2.1 zookeeper 集群部署1.2.2 Kafka 集群部署1.2.3 FileBeat 部署1.2.4 clickhouse 部署1.2.4.1 准备步骤1.2.4.2 添加官方存储库1.2.4.3 部署&启动&连接1.2.4.5 基本配置服务1.2.4.6 测试创建数据库和…

2025年大一ACM训练-搜索

2025年大一ACM训练-搜索 前期知识&#xff1a;DFS&#xff0c;本文搜索题解法以深度优先搜索为主 1.1 DFS 的定义 深度优先搜索&#xff08;Depth-First Search&#xff09;是一种用于遍历树或图的算法。核心思想是尽可能“深入”访问图的每个节点&#xff0c;直到无法继续前进…

Nginx核心功能02

目录 一&#xff0c;正向代理 1&#xff0c;编译安装Nginx &#xff08;1&#xff09;安装支持软件 &#xff08;2&#xff09;创建运行用户&#xff0c;组和日志目录 &#xff08;3&#xff09;编译安装Nginx &#xff08;4&#xff09;添加Nginx系统服务 2&#xff0c…

rk3568安全启动功能实践

本文主要讲述笔者在rk3568芯片上开发安全启动功能实践的流程。其中主要参考瑞芯微官方文档《Rockchip_Developer_Guide_Secure_Boot_for_UBoot_Next_Dev_CN.pdf》。文档中描述逻辑不是很清晰而且和当前瑞芯微的sdk中安全启动的流程匹配度不高。本文就不再对瑞芯微官方文档的内容…

[操作系统] 线程互斥

文章目录 背景概念线程互斥的引出互斥量锁的操作初始化 (Initialization)静态初始化动态初始化 加锁 (Locking)阻塞式加锁非阻塞式加锁 (尝试加锁/一般不考虑) 解锁 (Unlocking)销毁 (Destruction)设置属性 (Setting Attributes - 通过 pthread_mutex_init) 锁本身的保护互斥锁…

【神经网络与深度学习】两种加载 pickle 文件方式(joblib、pickle)的差异

引言 从深度学习应用到数据分析的多元化需求出发&#xff0c;Python 提供了丰富的工具和模块&#xff0c;其中 pickle 和 joblib 两种方式在加载数据文件方面表现尤为突出。不同场景对性能、兼容性以及后续处理的要求不尽相同&#xff0c;使得这两种方式各显优势。本文将通过深…

Electron 入门指南

Electron 入门指南 Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架。通过 Electron&#xff0c;你可以利用 Web 技术开发出功能强大的桌面应用程序&#xff0c;并且能够运行在 Windows、Mac 和 Linux 系统上。 本文将带你从零开始构建一个简单的 Ele…

编程中如何与AI交互-结构化输入和理解确认机制

一 结构化输入是什么 &#x1f4cc; 结构化输入的定义&#xff1a; 结构化输入是指以清晰、分层、有逻辑的格式向 AI 输入信息&#xff0c;使其更容易解析内容、抓住重点&#xff0c;并准确回答问题。 &#x1f4e6; 举个例子&#xff08;编程场景&#xff09;&#xff1a; 非…

13:傅里叶变换

傅立叶变换(FT, Fourier Transform)的作用是将一个信号由时域变换到频域。其实就是把数据由横坐标时间、纵坐标采样值的波形图格式&#xff0c;转换为横坐标频率、纵坐标振幅(或相位)的频谱格式。换后可以很明显地看出一些原先不易察觉的特征。 有些信号在时域上是很难看出什么…

基于单片机的音频信号处理系统设计(一)

项目名称:基于单片机的音频信号处理系统设计学院名称:信息学院学生姓名:学号专业年级:指导教师:教师职称:教授企业导师:目 录 摘 要 Abstract 1 前言 1.1研究背景与意义 <

机器学习实操 第一部分 机器学习基础 第8章 降维技术

机器学习实操 第一部分 机器学习基础 第8章 降维技术 内容概要 第8章探讨了降维技术&#xff0c;这些技术在处理高维数据时至关重要。高维数据不仅会使训练过程变得极其缓慢&#xff0c;还会增加找到良好解决方案的难度&#xff0c;这就是所谓的维度灾难问题。幸运的是&#…