CentOS 上配置多个 SSH 端口

在 CentOS 上配置监控多个 SSH 端口,可以使用以下步骤:

  1. 修改 SSH 配置文件:

    • 编辑 /etc/ssh/sshd_config 文件以允许 SSH 服务监听多个端口。例如,如果你想让 SSH 服务监听 22 和 2222 端口,可以添加以下行:
      Port 22
      Port 2222
    • 保存并关闭文件。
  2. 重启 SSH 服务:

    • 使更改生效,重启 SSH 服务:
      sudo systemctl restart sshd
  3. 确保防火墙允许这些端口:

    • 使用 firewalld 管理防火墙规则,确保防火墙允许新的 SSH 端口。
    • 例如,允许 22 和 2222 端口:
      sudo firewall-cmd --permanent --add-port=22/tcp
      sudo firewall-cmd --permanent --add-port=2222/tcp
      sudo firewall-cmd --reload
  4. 安装监控工具:

    • 你可以使用 NagiosZabbixPrometheus 等监控工具来监控这些端口。
    • 这里我们以 Nagios 为例。首先,安装 NagiosNagios Plugins
      sudo yum install epel-release -y
      sudo yum install nagios nagios-plugins-all nagios-plugins-nrpe nrpe -y
  5. 配置 Nagios 服务:

    • 编辑 /etc/nagios/nagios.cfg 文件,确保包含配置目录:
      cfg_dir=/etc/nagios/conf.d
    • 创建一个新的配置文件来监控 SSH 端口,例如 /etc/nagios/conf.d/ssh_ports.cfg
      sudo nano /etc/nagios/conf.d/ssh_ports.cfg
  6. 在配置文件中添加服务检查:

    • 添加以下内容来监控端口 22 和 2222:
      
      define service {
      use generic-service
      host_name localhost
      service_description SSH Port 22
      check_command check_tcp!22
      }

define service {
use generic-service
host_name localhost
service_description SSH Port 2222
check_command check_tcp!2222
}


7. **重启 Nagios 服务:**
- 保存文件后,重启 Nagios 服务:
```bash
sudo systemctl restart nagios
  1. 访问 Nagios Web 界面:
    • 确保 Apache HTTP Server 正在运行:
      sudo systemctl start httpd
      sudo systemctl enable httpd
    • 访问 Nagios Web 界面,通常为 http://your-server-ip/nagios。默认用户名是 nagiosadmin,密码是在安装过程中设置的。

通过以上步骤,你就可以在 CentOS 上配置和监控多个 SSH 端口。

openssl生成RSA格式的公私钥,并转为pkcs8格式

第一步:生成私钥,这里我们指定私钥的长度为2048

openssl genrsa -out private.pem 2048

第二步:根据私钥生成对应的公钥:

openssl rsa -in private.pem -outform PEM -pubout -out public.pem

第三步:私钥转化成pkcs8格式,【这一步非必须,只是程序解析起来方便】,尖括号的意思是:将转化好的私钥写到private_pkcs8.pem文件里

openssl pkcs8 -topk8 -inform PEM -in private.pem -outform PEM -nocrypt > private_pkcs8.pem

Linux定时任务清除文件

crontab用法

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

步骤

输入 crontab -e

输入 0 0 * * * /bin/bash /opt/website/cronjob.sh >> /tmp/job.log

0 0 * * * 表示每天凌晨零点执行该脚本

/opt/website/cronjob.sh  表示执行的脚本位置

/tmp/job.log 表示cron执行脚本后日志存放位置

删除文件夹内所有文件  rm -rf /opt/logs/*

间隔秒执行的方案

由于cron的最小单位是分,想要间隔一秒执行脚本如下处理

执行时间设为* * * * *

脚本如下书写

#!/bin/bash

step=1 #间隔的秒数,不能大于60

for (( i = 0; i < 60; i=(i+step) )); do
# $(php '/home/fdipzone/php/crontab/tolog.php')
curl -vvvv 要访问的URL地址
sleep $step
done

exit 0