CentOS 7.4升级OpenSSH和OpenSSL

目标: OpenSSL 1.0.2k-fips升级至OpenSSL 3.3.0 OpenSSH_7.4p1升级至OpenSSH_9.7p1 升级前版本: 下载安装包 wget https://www.zlib.net/fossils/zlib-1.3.1.tar.gz wget https://www.openssl.org/source/openssl-3.3.0.tar.gz wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz 安装zlib1.3.1 安装依赖组件 yum install gcc 解压并安装 tar xf zlib-1.3.1.tar.gz cd zlib-1.3.1 ./configure make -j4 && make install 安装openssl 3.3.0 安装依赖组件 yum install perl yum install perl-IPC-Cmd yum install perl-Data-Dumper 解压并安装 tar -xf openssl-3.3.0.tar.gz cd openssl-3.3.0 ./config make -j4 && make install ln … Read more

调整swap空间大小

1 增大swap空间大小 增大swap空间大小有如下三种方式:创建一个新的swap分区、创建一个新的swap文件、在现有的LVM2逻辑卷上扩展swap空间。推荐使用第三种方式。 1.1 创建一个新的swap分区 假设/dev/VolGroup00/LogVol02是要新建的swap分区 lvcreate VolGroup00 -n LogVol02 -L 2G mkswap /dev/VolGroup00/LogVol02 /dev/VolGroup00/LogVol02   swap     swap    defaults     0 0 systemctl daemon-reload swapon -v /dev/VolGroup00/LogVol02 cat /proc/swaps free -h 1.2 创建一个新的swap文件 dd if=/dev/zero of=/swapfile bs=1024 count=65536 将count替换为等于所需块大小的值。 mkswap /swapfile chmod 0600 /swapfile /swapfile          swap            swap    defaults        0 0 systemctl daemon-reload swapon /swapfile cat /proc/swaps free -h 1.3 … Read more

通过IP地址和子网掩码与运算计算出网络地址、广播地址、地址范围、本网主机数

通过ip地址和子网掩码与运算,可以计算出:网络地址、 广播地址、 地址范围、 本网主机数。 例1:IP地址192·168·100·5 子网掩码255·255·255·0。计算出网络地址、广播地址、地址范围、主机数。 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址 2)IP地址和子网掩码进行与运算,结果是网络地址 3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。 4) 地址范围就是含在本网段内的所有主机网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出地址范围是: 网络地址+1 至 广播地址-1本例的网络地址范围是:192·168·100·1 至 192·168·100·254 5) 主机的数量主机的数量=2二进制的主机位数-2减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。主机的数量=28-2=254 例2: IP地址128·36·199·3 子网掩码255·255·240·0。计算出网络地址、广播地址、地址范围、主机数。 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址, 虚线前为网络地址,虚线后为主机地址 2)IP地址和子网掩码进行与运算,结果是网络地址 3)将运算结果中的网络地址不变,主机地址变为全1,结果就是广播地址。 4) 地址范围就是含在本网段内的所有主机网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出地址范围是: 网络地址+1 至 广播地址-1本例的网络地址范围是:128·36·192·1 至 128·36·207·254 5) 主机的数量主机的数量=2二进制位数的主机-2主机的数量=212-2=4094 减2是因为主机不包括网络地址和广播地址。 从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址范围、主机数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。 附录1: 计算网络地址:将ip与子网掩码进行and运算得出网络地址 ip地址:192.168.98.10          子网掩码:255.255.255.224      二进制ip地址:11000000.  10101000 . 01100010 . 00001010 二进制子网掩码:11111111 . 11111111 . 11111111 … Read more

怎样允许或禁止用户/IP通过SSH方式连接服务器

方法一:通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录 在/etc/ssh/sshd_config配置文件中设置AllowUsers选项,在配置文件末尾添加行格式如下(例如允许用户test通过192.168.1.2登录)。 AllowUsers test@192.168.1.2 说明:配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。 在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,在配置文件末尾添加行格式如下(例如禁止用户testuser登录)。 DenyUsers testuser 上述修改需要重启sshd服务。 # systemctl restart sshd 方法二:使用DenyHosts允许或者禁止指定IP通过SSH登录 linux服务器通过设置/etc/hosts.allow和/etc/hosts.deny这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单,具体如下: sshd: 192.168.1.3 sshd:ALL 说明:hosts.allow和hosts.deny两个文件同时设置规则的时候,hosts.allow文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的IP都会拒绝。

How To Rightly Update Linux Kernel

Rightly updating the Linux kernel can be done in two ways. 1. Manually install the .rpm kernel package To manually install a kernel, the best practice is to use the – i option and not the – U option. The reason is that the –U option will update the kernel and not keep the old … Read more

Linux下创建百万级小文件

单核CPU: seq 1000000 |xargs -i dd if=/dev/zero of={}.data bs=1024 count=1 >> /dev/null 2>&1 #生成百万不为空的随机文件 seq 1000000 |xargs -i dd if=/dev/urandom of={}.data bs=1024 count=1  >> /dev/null 2>&1 多核CPU: seq 1000000 |xargs -i -P 0 dd if=/dev/zero of={}.data bs=1024 count=1  >> /dev/null 2>&1 #生成百万不为空的随机文件 seq 1000000 |xargs -i -P 0 dd if=/dev/urandom of={}.data bs=1024 count=1  >> /dev/null 2>&1 验证: 单核命令是顺序执行,效率慢 … Read more

使用tmpwatch命令删除文件

tmpwatch命令参数说明 -u, –atime 基于访问时间来删除文件,默认的。 -m, –mtime 基于修改时间来删除文件。 -c, –ctime 基于创建时间来删除文件,对于目录,基于mtime。 -M, –dirmtime 删除目录基于目录的修改时间而不是访问时间。 -a, –all 删除所有的文件类型,不只是普通文件,符号链接和目录。 -d, –nodirs 不尝试删除目录,即使是空目录。 -d, –nosymlinks 不尝试删除符号链接。 -f, –force 强制删除。 -q, –quiet 只报告错误信息。 -s, –fuser 如果文件已经是打开状态在删除前,尝试使用“定影”命令。默认不启用。 -t, –test 仅作测试,并不真的删除文件或目录。 -U, –exclude-user=user 不删除属于谁的文件。 -v, –verbose 打印详细信息。 -x, –exclude=path 排除路径,如果路径是一个目录,它包含的所有文件被排除了。如果路径不存在,它必须是一个绝对路径不包含符号链接。 -X, –exclude-pattern=pattern 排除某规则下的路径。 tmpwatch命令的关键选项和参数 atime (File Last Access Time):文件最后一次被访问的时间; mtime (File Last … Read more

修改limits.conf参数后无法登录系统问题处理

问题: 修改limits.conf参数后,ssh会话自动退出,无法再连接;root用户登录,提示permission denied。 解决办法: 1.进入系统救援模式: (1)重启系统,启动菜单页面按e进行编辑 (2)在UTF-8后面添加:空格 rd.break (3)修改完,按ctrl+x (4)挂载为可读写:mount -o remount,rw /sysroot (5)输入chroot /sysroot 2.查看/var/log/secure日志中有如下内容: pam_limits(sshd:session): Could not set limit for ‘nofile’: Operation not permitted 确认是修改limits.conf参数导致的无法登录 3.修改/etc/security/limits.conf,还原设置。 4.输入exit退出sysroot,reboot重启系统 附录:进入系统救援模式也可以使用如下方式: 方式1: 在启动菜单页面,按e进行编辑 找到ro 修改为 rw init=/sysroot/bin/sh 修改完,按Ctrl-x 输入chroot /sysroot 方式2: 在启动菜单页面,按e进行编辑 将光标移动到linux16开始的行,末尾添加:rw init=/sysroot/bin/sh 修改完,按ctrl+x 输入chroot /sysroot

如何查看Linux系统网络流量负载情况

Linux系统中有各种查看网络流量的工具,比如sar、iftop、nethogs等,它们可以从不同的纬度来分析系统中流量信息,本文介绍如何使用sar、iftop、nethogs查看Linux系统网络流量负载情况。 1 sar工具的使用 sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告。sar可以从网络接口层面来分析数据包的收发情况、错误信息等。 1.1 sar命令 使用sar来监控网络流量的常用命令如下所示。 sar -n DEV [interval] [count] 说明:[interval]表示统计间隔,[count]表示统计次数。 1.2 使用示例 执行如下命令,使用sar每1秒统计一次网络接口的活动状况,连续统计5次。 sar -n DEV 1 5 命令执行后会列出每个网卡5次的平均数据取值,根据实际情况来确定带宽跑满的网卡名称 系统显示类似如下 显示结果主要字段说明: 2 iftop工具的使用 iftop是Linux系统中一个免费的网卡实时流量监控工具,可以监控包括指定网卡的实时流量、端口连接信息、反向解析IP等信息。 2.1 iftop命令 iftop常用命令如下。 iftop [-i interface] interface表示网络接口名,比如eth0、eth1等。如果不通过-i参数指定接口名,则默认检测第一块网卡的使用情况。 2.2 使用示例 执行如下命令,安装iftop流量监控工具。 yum install iftop -y 执行如下命令,查看详细端口流量占用情况。 iftop -i eth0 -P 说明:-P参数会显示请求端口。 系统显示如下,58690端口占用流量最大。 执行如下命令,查看端口对应的进程。 netstat -tunlp |grep [$Port] … Read more

ping加时间戳

Linux: # 日期在后面 ping www.baidu.com | awk ‘{print $0″\t” strftime(“%F_%H:%M:%S”,systime());fflush()}’ 结果写入日志:nohup pingwww.baidu.com| awk ‘{print $0″\t” strftime(“%F_%H:%M:%S”,systime());fflush()}’ >>ping_result.log 2>&1 & # 日期在前面 ping www.baidu.com | awk ‘{print strftime(“%F_%H:%M:%S”,systime())”\t” $0;fflush()}’ 结果写入日志:nohup pingwww.baidu.com| awk ‘{print strftime(“%F_%H:%M:%S”,systime())”\t” $0;fflush()}’ >>ping_result.log 2>&1 & Windows: 打开 powershell,运行下面的命令: ping www.baidu.com -t | Foreach{“{0} – {1}” -f (Get-Date),$_} 结果写入日志:ping www.baidu.com -t | Foreach{“{0} – … Read more