Linux 运维实战笔记(一):系统资源监控、服务管理与 SSH 配置

张开发
2026/4/12 4:57:43 15 分钟阅读

分享文章

Linux 运维实战笔记(一):系统资源监控、服务管理与 SSH 配置
计算机核心资源CPU 计算lscpu[rootc001 ~]# lscpuArchitecture: x86_64 CPU op-mode(s):32-bit,64-bit Byte Order: Little Endian CPU(s):4On-line CPU(s)list:0-3 Thread(s)per core:1Core(s)per socket:2座2NUMA 节点1厂商 ID AuthenticAMD CPU 系列25型号97型号名称 AMD Ryzen97945HX with Radeon Graphics 步进2CPU MHz2495.313BogoMIPS4990.62超管理器厂商 VMware 虚拟化类型 完全 L1d 缓存 32K L1i 缓存 32K L2 缓存 1024K L3 缓存 32768K NUMA 节点0 CPU0-3内存 缓存数据掉电丢失按CPU使用率降序排序进程[rootc001 ~]# toptop-10:20:50 up1:01,2users, load average:2.39,1.09,0.46Tasks:437total,4running,433sleeping,0stopped,0zombie %Cpu(s):66.2us,3.0sy,0.0ni,30.9id,0.0wa,0.0hi,0.0si,0.0st PIDUSERPR NI VIRT RES SHR S %CPU %MEM TIME COMMAND54865root200108072616524R99.70.04:30.80 md5sum57233root200108072620524R99.70.01:59.01 md5sum57895root200108072620524R99.70.01:16.74 md5sum2275root20013390054844088S0.70.10:21.52 sshd2363root20012506029521168S0.30.10:07.34top1root2005086872282524S0.00.20:01.08 systemd2root200000S0.00.00:00.02 kthreadd 按内存使用率降序排序进程[rootc001 ~]# toptop-10:27:58 up1:09,2users, load average:2.92,2.50,1.38Tasks:436total,4running,432sleeping,0stopped,0zombie %Cpu(s):65.9us,2.9sy,0.0ni,31.2id,0.0wa,0.0hi,0.0si,0.0st KiB Mem:3868576total,365184used,3503392free,888buffers KiB Swap:4079612total,0used,4079612free.155940cached Mem PIDUSERPR NI VIRT RES SHR S %CPU %MEM TIME COMMAND54865root200108072616524R99.70.011:37.77 md5sum57233root200108072620524R99.70.09:05.95 md5sum57895root200108072620524R99.70.08:23.63 md5sum2275root20013390054844088S0.30.10:23.39 sshd57943root20012410019361176R0.30.10:00.71top1root2005086872282524S0.00.20:01.08 systemd CPU指标 %Cpu(s):65.8us,2.7sy,0.0ni,31.4id,0.0wa,0.0hi,0.1si,0.0st 内存指标 KiB Mem:3868576total,365184used,3503392free,888buffers KiB Swap:4079612total,0used,4079612free.155940cached Mem硬盘 持久化存储数据。[rootc001 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 50G4.4G 46G9% / devtmpfs1.9G01.9G0% /dev tmpfs1.9G01.9G0% /dev/shm tmpfs1.9G8.5M1.9G1% /run tmpfs1.9G01.9G0% /sys/fs/cgroup /dev/nvme0n1p2 497M 88M 409M18% /boot /dev/nvme0n1p1 200M9.6M 191M5% /boot/efi /dev/mapper/centos-home 146G 33M 146G1% /home网络 传播数据[rootc001 ~]# iotopTotal DISK READ:0.00B/s|Total DISK WRITE:0.00B/s Actual DISK READ:0.00B/s|Actual DISK WRITE:0.00B/s TID PRIOUSERDISK READ DISK WRITE SWAPIN IOCOMMAND65747be/4 root0.00B/s0.00B/s0.00%0.98%[kworker/0:0]1be/4 root0.00B/s0.00B/s0.00%0.00% systemd --s~erialize232be/4 root0.00B/s0.00B/s0.00%0.00%[kthreadd]3be/4 root0.00B/s0.00B/s0.00%0.00%[ksoftirqd/0]5be/0 root0.00B/s0.00B/s0.00%0.00%[kworker/0:0H]7rt/4 root0.00B/s0.00B/s0.00%0.00%[migration/0]8be/4 root0.00B/s0.00B/s0.00%0.00%[rcu_bh]9be/4 root0.00B/s0.00B/s0.00%0.00%[rcuob/0]10be/4 root0.00B/s0.00B/s0.00%0.00%[rcuob/1]硬盘名称sda 第一块sata接口硬盘硬盘 sdb[rootc001 ~]# sar -dp 1Linux3.10.0-123.el7.x86_64(c001)2026年04月02日 _x86_64_(4CPU)10时34分52秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util10时34分53秒 nvme0n10.000.000.000.000.000.000.000.0010时34分53秒 sr00.000.000.000.000.000.000.000.0010时34分53秒 centos-swap0.000.000.000.000.000.000.000.0010时34分53秒 centos-root0.000.000.000.000.000.000.000.0010时34分53秒 centos-home0.000.000.000.000.000.000.000.0010时34分53秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util10时34分54秒 nvme0n13.000.0026.008.670.000.330.330.1010时34分54秒 sr00.000.000.000.000.000.000.000.0010时34分54秒 centos-swap0.000.000.000.000.000.000.000.0010时34分54秒 centos-root3.000.0026.008.670.000.330.330.1010时34分54秒 centos-home0.000.000.000.000.000.000.000.00^C10时34分54秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util10时34分55秒 nvme0n10.000.000.000.000.000.000.000.0010时34分55秒 sr00.000.000.000.000.000.000.000.0010时34分55秒 centos-swap0.000.000.000.000.000.000.000.0010时34分55秒 centos-root0.000.000.000.000.000.000.000.0010时34分55秒 centos-home0.000.000.000.000.000.000.000.00平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 平均时间: nvme0n11.200.0010.448.670.000.330.330.04平均时间: sr00.000.000.000.000.000.000.000.00平均时间: centos-swap0.000.000.000.000.000.000.000.00平均时间: centos-root1.200.0010.448.670.000.330.330.04平均时间: centos-home0.000.000.000.000.000.000.000.00服务管理pid为1的程序是systemd也是系统第一个进程负责操作系统整个资源的管理。系统中服务也由systemd管理。systemctl 命令语法systemctl action service-nameaction: status start stop restart enalbe disable is-active is-enabledservice-name: sshd firewalld mysqldsystemd与systemctl关系systemd 一直运行的程序守护进程systemctl 是给systemd下指令的工具人与机器之间交互使用。查看服务状态[rootc001 ~]# systemctl status sshdsshd.service - OpenSSH server daemon Loaded: loaded(/usr/lib/systemd/system/sshd.service;enabled)Active: active(running)since 四2026-04-0211:01:24 CST;18min ago Process:1265ExecStartPre/usr/sbin/sshd-keygen(codeexited,status0/SUCCESS)Main PID:1269(sshd)CGroup: /system.slice/sshd.service └─1269 /usr/sbin/sshd-D运行记录4月 0211:01:24 c001 systemd[1]: Started OpenSSH server daemon.4月 0211:01:24 c001 sshd[1269]: Server listening on0.0.0.0 port22.4月 0211:01:24 c001 sshd[1269]: Server listening on :: port22.4月 0211:02:42 c001 sshd[2286]: Accepted passwordforroot from192.168.220.1...h2 Hint: Some lines were ellipsized, use-lto showinfull. 重点关注1. Loaded: loaded(/usr/lib/systemd/system/sshd.service;enabled;vendor preset: enabled)配置文件位置 /usr/lib/systemd/system/sshd.service 第一个enable 代表开机自动启动 第二个enable 暂不关注2. Active: active(running)停止服务[rootc001 ~]# systemctl stop sshd[rootc001 ~]# systemctl is-active sshdinactive[rootc001 ~]# systemctl status sshdsshd.service - OpenSSH server daemon Loaded: loaded(/usr/lib/systemd/system/sshd.service;enabled)Active: inactive(dead)since 四2026-04-0217:22:32 CST;11s ago Main PID:1272(codeexited,status0/SUCCESS)4月 0215:53:07 c001 sshd[41153]: Accepted passwordforroot from192.168.220....h24月 0215:53:11 c001 sshd[41298]: Accepted publickeyforroot from192.168.220...c64月 0215:53:29 c001 sshd[41478]: Accepted passwordforroot from192.168.220....h24月 0215:53:37 c001 sshd[41745]: Accepted publickeyforroot from192.168.220...c64月 0215:53:46 c001 sshd[41863]: pam_unix(sshd:auth): authentication failure;...ot4月 0215:53:46 c001 sshd[41863]: pam_succeed_if(sshd:auth): requirementuid ...t4月 0215:53:47 c001 sshd[41863]: Failed passwordforroot from192.168.220.1...h24月 0215:53:50 c001 sshd[41863]: Accepted passwordforroot from192.168.220....h24月 0217:22:32 c001 systemd[1]: Stopping OpenSSH server daemon...4月 0217:22:32 c001 sshd[1272]: Received signal15;terminating.4月 0217:22:32 c001 systemd[1]: Stopped OpenSSH server daemon. Hint: Some lines were ellipsized, use-lto showinfull.# 使用工具再次连接连接不上去服务未启动。# 启动服务[rootc001 ~]# systemctl start sshd[rootc001 ~]# systemctl is-active sshdactive# 使用工具再次连接能连接上服务启动。sshd服务开机启动测试# 禁止sshd服务开机启动[rootc001 ~]# systemctl disable sshdrm/etc/systemd/system/multi-user.target.wants/sshd.service[rootc001 ~]# systemctl is-enabled sshddisabled# 重启验证机器启动后是否可以通过终端工具登录不行[rootc001 ~]# reboot# 设置sshd服务开机启动[rootc001 ~]# systemctl enable sshdln-s/usr/lib/systemd/system/sshd.service/etc/systemd/system/multi-user.target.wants/sshd.service[rootc001 ~]# systemctl is-enabled sshdenabled# 重启验证机器启动后是否可以通过终端工具登录行[rootc001 ~]# reboot开发一个服务开发服务流程准备服务程序 /usr/local/bin/study准备服务配置文件 /etc/systemd/system/studyd.service (程序后面的ddaemon守护称呼)通知systemd 变化 systemctl daemon-reload激活服务 systemctl enable studyd --now[rootcentos7 ~16:15:19]# vim /usr/local/bin/study#!/bin/bash# 第一行内容是脚本的 解释器声明shebang指定该脚本使用 /bin/bash 作为解释器执行。系统会根据这一行找到对应的 shell 程序来解析后续命令。# 启动一个无限循环while 是循环关键字true 是一个永远为真的条件因此这个循环会一直执行下去直到被外部终止如 CtrlC。whiletrue# 循环体的开始标记do 和后面的 done 之间的内容是循环中重复执行的命令。do# 执行 date 命令获取当前系统时间并通过 $(...) 捕获其输出将结果赋值给变量 DATE。DATE$(date)# echo 命令输出字符串其中 $DATE 会被替换为变量的值# 是追加重定向符号将输出内容追加到 /var/log/study.log 文件中# 最终输出内容类似 Fri Oct 31 10:00:00 CST 2025: IM studying [ Linux ]。echo$DATE: IM studying [ Linux ]/var/log/study.log# 让脚本暂停执行 5 秒sleep 命令用于延迟单位默认为秒避免循环执行过快。sleep5# 循环体的结束标记与前面的 while 和 do 配合标志着一次循环的结束。done[rootc001 bin]# chmod x /usr/local/bin/study[rootc001 bin]# cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/studyd.service[rootc001 bin]# vim /etc/systemd/system/studyd.service[Unit]Descriptionstudy server daemon[Service]ExecStart/usr/local/bin/study[Install]WantedBymulti-user.target[rootc001 system]# systemctl daemon-reload[rootc001 system]# systemctl enable studyd systemctl start studyd[rootc001 system]# systemctl status studydstudyd.service - study server daemon Loaded: loaded(/etc/systemd/system/studyd.service;enabled)Active: active(running)since 四2026-04-0213:24:29 CST;3s ago Main PID:29688(study)CGroup: /system.slice/studyd.service ├─29688 /bin/bash /usr/local/bin/study └─29690sleep54月 0213:24:29 c001 systemd[1]: Started study server daemon.[rootc001 system]# tail -f /var/log/study.log2026年 04月 02日 星期四13:06:41 CST: IM studying [ Linux ] 2026年 04月 02日 星期四 13:06:46 CST: IM studying[Linux]2026年 04月 02日 星期四13:06:51 CST: IM studying [ Linux ] 2026年 04月 02日 星期四 13:06:56 CST: IM studying[Linux]2026年 04月 02日 星期四13:17:57 CST: IM studying [ Linux ] 2026年 04月 02日 星期四 13:18:02 CST: IM studying[Linux]复习 vim[rootc001 system]# cp /usr/lib/systemd/system/sshd.service .[rootc001 system]# vim sshd.service1. :set nu 显示行号2. 3,5d 【或者 光标移动到第三行d3d】 删除3-5行3. 5,6d 删除5-6行4. 6,9d 删除6-9行5. /Open 搜索并定位到特定字符串位置6. cw change word替换一个单词自动进入插入模式输入study按esc7. /sbin 搜索C删除到最后并进入插入模式补全路径local/bin/study按esc8. ZZ 保存退出。 最终文件内容如下[Unit]Descriptionstudy server daemon[Service]ExecStart/usr/local/bin/study[Install]WantedBymulti-user.target 补充 u 撤销上一步操作 ctrlr 重做上一步操作 分析sshd建立连接流程操作步骤1. windows 管理员身份打开cmd执行arp-d192.168.220.147(自己Linux服务IP2. 开启wireshark捕捉vmware8nat网卡流量3. 使用终端登录 Linux 服务4. 分析 抓包结果ssh 工具使用windows中使用普通命令行操作ssh 192.168.220.147ssh root192.168.220.147或者ssh 7854zx192.168.220.1473-1. ssh 7854zx192.168.220.147 hostname3-2. ssh 7854zx192.168.220.147 id# 为自己创建一个普通 laoma 用户并设置密码[rootc001 ~]# useradd 7854zx[rootc001 ~]# echo 123456 | passwd --stdin 7854zx更改用户 7854zx 的密码 。 passwd所有的身份验证令牌已经成功更新。配置 ssh 工具配置文件# 如果.ssh目录不存在执行以下命令[7854zxc001 ~]$sshlocalhost# 然后ctrlc 停止即可# 准备配置文件[7854zxc001 ~]$cp/etc/ssh/ssh_config .ssh/config[7854zxc001 ~]$vim.ssh/config# 删除前19行# 取消相应行注释Host *# 新增 User 行指明默认登录用户User root# 首次登录不要提示输入yes/no(不要对主机key校验)# StrictHostKeyChecking askStrictHostKeyChecking no# 验证[7854zxc001 ~]$ssh192.168.220.147 Warning: Permanently added192.168.220.147(ECDSA)to the list of known hosts. root192.168.220.147s password: Last login: Thu Apr217:35:392026from c001ssh命令行传递密码工具 sshpass[rootc001 ~]# yum install -y sshpass# 确保之前连接过记得输入yes# 接下来传递密码redhat登录[rootc001 ~]# sshpass -p 123456 ssh root192.168.220.147 id# 显示结果如下uid0(root)gid0(root)组0(root)环境unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

更多文章