Skip to content
Eternal Center

Eternal Center

  • Single-Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi-Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Approach (方式方法)
    • Languages (语言)
    • Ideas (思路)
    • Programing (编程)
    • Project (项目)
  • Eternity (永恒)
    • News (消息)
    • Creations (创作)
    • Classics (经典)
    • Legends (传说)
    • Chronicle (编年史)
    • FNIOS (宇宙公民开源学院)

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

Posted on May 20, 2023October 26, 2023

[内容] Linux IP 冲突时的现象

当 SSH 登录 IP 地址被冲突的服务器时:

一会可以正常 SSH 登录

一会会出现此服务器 SSH ecdsa 码变更的提示,此时以前做过的密钥登陆和以前的登陆密码都可能会失效

Posted on May 20, 2023November 22, 2024

[内容] Linux SSH ECDSA 码的管理

内容一:SSH ECDSA 码介绍

1.1 什么是 ECDSA 码

ECDSA 是 SSH 服务为自己生成的唯一识别,通常一旦生成便不会改变

当 SSH 客户端访问 SSH 服务端时会尝试识别此 SSH 服务端 (以此 SSH 服务端的 IP 地址或者域名为判断依据) 的 SSH ECDSA 码:

如果当 SSH 客户端没有记录过此 SSH 服务端的 SSH ECDSA 码时,SSH 客户端会给出提示并让用户选择是否信任并记录此 SSH ECDSA 码

如果当 SSH 客户端记录过此 SSH 服务端的 SSH ECDSA 码且和过去的记录匹配时,SSH 客户端会直接 SSH 登录此 SSH 服务端

如果当 SSH 客户端记录过此 SSH 服务端的 SSH ECDSA 码且和过去的记录不一致时,SSH 客户端会给出提示此 IP 地址或者域名的 SSH ECDSA 码已发生改变,此时 SSH 客户端无法通过密码 SSH 登录 SSH 客户端,但是可以通过密码登录 SSH 客户端

1.2 SSH ECDSA 码存放位置

/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ecdsa_key

内容二:管理 SSH ECDSA 码

2.1 查看 SSH 服务端的 SSH ECDSA 码

# ssh-keyscan -t ecdsa <SSH Server IP address>

或者:

# ssh-keyscan -t ecdsa <SSH Server IP domain>

2.2 将现在 SSH 服务端的 SSH ECDSA 码替换记录里的 SSH ECDSA 码

2.2.1 通过使用 ssh-keygen 命令将现在 SSH 服务端的 SSH ECDSA 码替换记录里的 SSH ECDSA 码
# ssh-keygen -R <SSH Server IP address>

或者:

# ssh-keygen -R <SSH Server IP domain>
2.2.2 通过修改 ~/.ssh/known_hosts 配置文件将现在 SSH 服务端的 SSH ECDSA 码替换记录里的 SSH ECDSA 码
# vim ~/.ssh/known_hosts

删除对应的记录:

(步骤略)

2.3 在本服务器上生成新的 SSH ECDSA 码

# ssh-keygen -t ecdsa -f ssh_host_ecdsa_key
Posted on May 20, 2023November 22, 2024

[步骤] Linux SSH 访问的限制 (Rocky Linux 8 & RHEL 8 版)

步骤一:设置 SSH 访问限制

# vim /etc/ssh/sshd_config

添加以下内容:

......
AllowUsers *@192.168.0.1/32 *@192.168.1.0/255.255.255.0 zhumingyu mingyuzhu@192.168.1.1 *.eternalcenter.com
AllowGroups zhu
DenyUsers *
DenyGroups *

(
补充:这里以只允许
1) 来自 IP 地址 192.168.0.1 的用户可以 SSH 登录本服务器
2) 来自 IP 网段 192.168.1.0/255.255.255.0 的用户可以 SSH 登录本服务器
3) 用户 zhumingyu 可以 SSH 登录本服务器
4) 来自 192.168.1.1 的用户 mingyuzhu 可以 SSH 登录本服务器
5) 属于组 zhu 的用户可以 SSH 登录本服务器
6) 来自域名 *.eternalcenter.com 除了域名 attacker.eternalcenter.com 的用户可以 SSH 登录本服务器
为例
)

步骤二:重启 SSH 服务

# systemctl restart sshd
Posted on May 20, 2023November 22, 2024

[步骤] Linux SSH 访问的限制 (openSUSE & SLES & CentOS 7 & RHEL 7 版)

正文:

步骤一:启用 UseTCPWrappers 参数

# vim /etc/ssh/sshd_config

将部分内容修改如下:

......
UseTCPWrappers yes
......

步骤二:设置 SSH 访问限制

2.1 禁止来自所有 IP 地址的所有用户可以 SSH 本服务器

# vim /etc/hosts.deny

添加以下内容:

......
sshd : ALL : deny

或者:

......
sshd : ALL

2.2 只允许某些用户可以 SSH 本服务器

# vim /etc/hosts.allow

添加以下内容:

......
sshd : 192.168.0.1/32: allow
sshd : 192.168.1.0/255.255.255.0: allow
sshd : zhumingyu:allow
mingyuzhu@192.168.1.1 : allow
sshd : *.eternalcenter.com EXCEPT attacker.eternalcenter.com

或者:

sshd : 192.168.0.1 : allow
sshd : 192.168.1. : allow
sshd : zhumingyu : allow
mingyuzhu@192.168.1.1 : allow
sshd : .eternalcenter.com EXCEPT attacker.eternalcenter.com

(
补充:这里以允许
1) 来自 IP 地址 192.168.0.1 的用户可以 SSH 登陆本服务器
2) 来自 IP 网段 192.168.1.0/255.255.255.0 的用户可以 SSH 登陆本服务器
3) 用户 zhumingyu 可以 SSH 登陆本服务器
4) 来自 192.168.1.1 的用户 mingyuzhu 可以 SSH 登陆本服务器
5) 来自域名 *.eternalcenter.com 除了域名 attacker.eternalcenter.com 的用户可以 SSH 登陆本服务器
为例
)

步骤三:重启 SSH 服务

# systemctl restart sshd

参考文献:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/sect-security_guide-tcp_wrappers_and_xinetd-tcp_wrappers_configuration_files

Posted on April 11, 2023April 11, 2023

[工具] Shell 批量检查多个远程服务器的多个用户信息

介绍

基本信息

作者:朱明宇
名称:批量检查多个远程服务器的多个用户信息
作用:批量检查多个远程服务器的多个用户信息

使用方法

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

脚本分割线里的变量

serveraccountfile=serveraccountfile.txt #记录服务器名和用户名的清单,每个服务器名和用户名以空格相隔占用 1 行
command=”chage -l” #检查用户信息的命令

注意

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

脚本

#!/bin/bash

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

serveraccountfile=serveraccountfile.txt
command="chage -l"

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

sumline=$(cat $serveraccountfile | wc -l)

for i in $(seq 1 $sumline)
do
        servername=$(sed -n $[i]p $serveraccountfile | awk '{print $1}')
        accountname=$(sed -n $[i]p $serveraccountfile | awk '{print $2}')
        ssh $servername "sudo su - root -c \"$command $accountname\""
done

Posts pagination

Previous page Page 1 … Page 5 Page 6 Page 7 … Page 24 Next page

Aspiration (愿景):

Everyone can achieve self-achievement and self-happiness fairly

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

Logo (徽标):

Additional Information (其他信息):

About     Manual     Clone     Contact
Disclaimer     Friendly Links     Donation

关于     手册     克隆     联系
免责声明     友情链接     捐赠

Search Inside Website (站内搜索)

Search Outside Website (站外搜索):

Google         Wikipedia         Bing

Eternal URL (永恒网址):

https://eternity.eternalcenter.com Will be last access method / 将是最后的访问方式

Proudly powered by LNMP Proudly powered by WordPress