Skip to content

Eternal Center

  • Single Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Other (其它)
    • Ideas (思路)
    • Language (语言)
    • Project (项目)
  • Eternity (永恒)
    • Creations (创作)
    • Classics (经典)
    • Chronicle (编年史)
    • News (消息)

Category: System Login Security (系统登录安全)

Posted on November 26, 2021June 18, 2022

[命令] Linux 命令 SSH (远程登录)

案例一:脚本中常用的方式

# ssh -q -t -t -o StrictHostKeyChecking=no -o ConnectTimeout=5 -l eternalcenter eternalcenter.com

(
补充:这里以
1) 安静模式
2) 打开新端口的模式
3) 不检查服务器记录
4) 超时时间为 5 秒
5) 通过 eternalcenter 用户
6) 登录 eternalcenter.com 服务器
为例
)

案例二:在操作中常用的方式

# ssh -X eternalcenter@eternalcenter.com

(
补充:这里以
1) 带图形的模式
2) 通过 eternalcenter 用户
3) 登录 eternalcenter.com 服务器
为例
)

Posted on October 10, 2021July 6, 2022

[工具] Shell 批量修改多个远程服务器某个用户的密码 (精致版)

介绍

基本信息

作者:朱明宇
名称:批量修改多个远程服务器某个用户的密码
作用:批量修改多个远程服务器某个用户的密码

使用方法

1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每服务器名占用 1 行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量

1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码

注意

此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限

脚本

#!/bin/bash

####################### Separator ########################

list="list.txt"
user=eternalcenter
password=eternalcenter

####################### Separator ########################

num=1

cat $list
for i in `cat $list`
do
        echo $num
        echo $i

	ssh -t $i "type lsb_release" &> /dev/null
        if [ $? -ne 0 ]; then
              distribution=`ssh -t $i "cat /etc/*release | grep '^NAME'"`
	      if [ $? -ne 0 ];then
		      distribution=`ssh -t $i "cat /etc/*release"`
	      fi
        else
              distribution=`ssh -t $i "lsb_release -i | grep 'ID' | grep -v 'n/a'"`
        fi;

        echo $distribution

	case $distribution in
		*"RedHat"* | *"Red Hat"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"CentOS"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"SUSE"* | *"SLES"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;
               
		*"openSUSE"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*)
                echo -e "\033[31m$i is fail \033[0m" 
		;;
        esac

        let num++

        echo
done
Posted on August 3, 2021August 15, 2022

[步骤] nftables 防火墙的使用 (永久版)

注意:

只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙

正文:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙

1.1 安装 nftables 防火墙

# dnf install nftables

1.2 清空 iptables 防火墙的策略表

1.2.1 清空 ipv4 iptables 防火墙的策略表
# iptables -F
1.2.2 清空 IPv6 iptables 防火墙的策略表
# ip6tables -F

1.3 停止使用 firewalld 防火墙

1.3.1 取消 firewalld 防火墙开机自启
# systemctl disable firewalld.service
1.3.2 停止 firewalld 防火墙
# systemctl stop firewalld.service

1.4 启用 nftables 防火墙

1.4.1 开机自启 nftables 防火墙
# systemctl enable nftables
1.4.2 启动 nftables 防火墙
# systemctl start nftables

步骤二:创建永久的 nftales 防火墙的策略表并条件永久的 nftables 防火墙策略

2.1 在 nftables 防火墙的配置文件中添加 nftables 防火墙策略文件

# vi /etc/sysconfig/nftables.conf

添加以下内容:

......
include "/etc/nftables/nftables.rules"

2.2 在 nftables 防火墙策略文件中添加 nftables 防火墙策略

# vi /etc/nftables/nftables.rules
flush ruleset
table inet siemens_FW {
    chain siemens_FW_input {
      type filter hook input priority 0; policy accept;
      iif "lo" accept
      ip saddr 127.0.0.0/8 counter packets 0 bytes 0 drop
      ip6 saddr ::1 counter packets 0 bytes 0 drop
      ip saddr 192.168.1.1 tcp dport ssh accept                  
      tcp dport ssh drop
    }
    chain siemens_FW_forward {
      type filter hook forward priority 0; policy accept;
    } 
    chain siemens_FW_output {
      type filter hook output priority 0; policy accept;
    }
}

(
补充:
(1)这里以基本的本地巡回路由策略并禁止除 192.168.1.1 的 IP 地址访问本地的 22 端口为例
(2)这里的 /etc/nftables/nftables.rules 是在 2.1 中添加的
)

2.3 让添加的 nftables 防火墙策略生效

# systemctl start nftables

补充:

nftables 防火墙策略文件的常用规则
Posted on August 3, 2021August 15, 2022

[步骤] nftables 防火墙的使用 (临时版)

注意:

只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙

正文:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙

1.1 安装 nftables 防火墙

# dnf install nftables

1.2 清空 iptables 防火墙的策略表

1.2.1 清空 ipv4 iptables 防火墙的策略表
# iptables -F
1.2.2 清空 IPv6 iptables 防火墙的策略表
# ip6tables -F

1.3 停止使用 firewalld 防火墙

1.3.1 取消 firewalld 防火墙开机自启
# systemctl disable firewalld.service
1.3.2 停止 firewalld 防火墙
# systemctl stop firewalld.service

1.4 启用 nftables 防火墙

1.4.1 开机自启 nftables 防火墙
# systemctl enable nftables
1.4.2 启动 nftables 防火墙
# systemctl start nftables

步骤二:创建 nftables 防火墙的策略表

2.1 创建 nftables 防火墙的策略表

# nft create table inet <table>

2.2 创建 nftables 防火墙的策略表的 input 链

# nft create chain inet <table> input { type filter hook input priority 0 \; }

2.3 创建 nftables 防火墙的策略表的 forward 链

# nft create chain inet <table> forward { type filter hook forward priority 0 \; }

2.4 创建 nftables 防火墙的策略表的 output 链

# nft create chain inet <table> output { type filter hook output priority 0 \; }

步骤三:添加临时基本的本地巡回路由策略

# nft add rule inet filter input iif lo accept
# nft add rule inet filter input ip saddr 127.0.0.0/8 counter drop
# nft add rule inet filter input ip6 saddr ::1 counter drop
Posted on June 9, 2021July 6, 2022

[工具] Shell 批量修改多个远程服务器某个用户的密码 (简单版)

介绍

基本信息

作者:朱明宇
名称:批量修改多个远程服务器某个用户的密码
作用:批量修改多个远程服务器某个用户的密码,并显示密码更新时间

使用方法

1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个服务器名占用 1 行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量

1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码

注意

此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限

脚本

#!/bin/bash

####################### Separator ########################

list="list.txt"
user=eternalcenter
password=eternalcenter

####################### Separator ########################

num=1

cat $list
for i in `cat $list`
do
        echo $num
        echo $i
        ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
        ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
        ssh -t $i sudo -u root su - root -c \"chage -l $user\"
        let num++

        echo
done

Posts navigation

Previous page Page 1 … Page 8 Page 9 Page 10 … Page 17 Next page

Aspiration (愿景):

Everyone can achieve self achievement and self happiness fairly

每个人都能公平地实现自我成就和自我幸福

Position (位置):

Running on Evolution Host and DigitalOcean

正在 Evolution Host 和 DigitalOcean 上运行

Logo (徽标):

Additional Information (其他信息):

About Manual Clone Contact
Disclaimer Donation Friendly Links
关于 说明书 克隆 联系
免责申明 捐赠 友情链接

Standby IP Address (备用 IP 地址):

152.69.204.95  150.230.63.10  Please configure before use / 请先配置再使用

Search Outside Website (站外搜索):

Google Wikipedia Bing
Proudly powered by LNMP Proudly powered by WordPress