# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=30
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[步骤] Linux SSH 公钥的手动复制 (可以代替 ssh-copy-id 命令)
补充:
本文中的内容也可以直接通过使用 ssh-copy-id 命令实现
正文:
步骤一:创建 ~/.ssh 目录
1.1 进入家目录
# cd ~
1.2 创建 ~/.ssh 目录
# mkdir ~/.ssh
1.3 更改 ~/.ssh 目录的所属主和所属组
# chown mingyuzhu:mingyuzhu .ssh
(补充:这里用户名是 mingyuzhu 主组名是 mingyuzhu 为例)
1.4 更改 ~/.ssh 目录的权限
# chmod 700 .ssh
步骤二:创建 authorized_keys 文件
2.1 进入 ~/.ssh 目录
# cd .ssh
2.2 创建 ~/.ssh/authorized_keys 文件
# touch authorized_keys
2.3 更改 ~/.ssh/authorized_keys 文件的所属主和所属组
# chown mingyuzhu:mingyuzhu authorized_keys
(补充:这里用户名是 mingyuzhu 主组名是 mingyuzhu 为例)
2.4 更改 ~/.ssh/authorized_keys 文件的权限
# chmod 600 authorized_keys
步骤三:复制 SSH 公钥
# vi authorized_keys
将 SSH 公匙复制于此
(步骤略)
[内容] 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
[步骤] 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
[步骤] 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