linux下禁止root ssh远程登录和添加允许新用户登录ssh

时间:2022-07-25
本文章向大家介绍linux下禁止root ssh远程登录和添加允许新用户登录ssh,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
######### 1. 添加用户 ###########
useradd -d /eisc -m eisc                                # 创建普通用户: 用户名 和 用户组、密码 都是 eisc   用户目录是 /eisc
echo "请输入用户的密码"
passwd eisc                                             # 给testuser 用户设置密码
# groupadd eisc                                 # 新建test工作组
# useradd -g eisc eisc                          # 新建testuser用户并增加到testgroup工作组
                                                                # 注::-g 所属组 -d 家目录 -s 所用的SHELL
# usermod -G groupname username # 给已有的用户增加工作组
NR=`cat -n /etc/sudoers | grep root | grep ALL | awk -F" " '{print $1}'`
                                                                        # 定义一个变量NR,命令查看 root 的行号
sed -i "$NR aeisc   ALL=(ALL)     ALL" /etc/sudoers
                                                                        # 授权规则是分配权限的执行规则
######### 2. 禁用root 用户登录 ###########
NR=`cat -n /etc/ssh/sshd_config | grep "#PermitRootLogin" | awk -F" " '{print $1}' | sed "s/ //g"`
                                                                        # Permit [pərˈmɪt] 允许 ;  login [ˈlɔɡˌɪn] 登录; 
                                                                        # 获取root允许登录规则的行号
sed -i "/PermitRootLogin/d" /etc/ssh/sshd_config
sed -i "$NR aPermitRootLogin no" /etc/ssh/sshd_config 
                                                                        # 在变量NR 行 (root 规则的下一行)加入禁止登录规则
######### 3. 添加和允许用户登录 ###########
NR=`cat -n /etc/ssh/sshd_config | grep "ListenAddress" | awk -F" " 'NR==1{print $1}' `
                                                                        # 获取ssh 允许用户登录的位置
sed -i "/AllowUsers/d" /etc/ssh/sshd_config     # 先删除这个规则,再添加
sed -i "$NR aAllowUsers admin eisc" /etc/ssh/sshd_config
                                                                        # Allow [əˈlaʊ] 允许用户登录 : admin eisc 两个用户,多个用户用空格隔开
/usr/sbin/sshd -T                                               # sshd 保存配置
/bin/systemctl restart sshd.service                     # 重启 sshd 服务
yum install -y net-tools                                        # 端口查看工具
netstat -ntlp                                                   # 查看运行的端口
exit
 lastlog                                                                # 查看登录情况
sshd -t                                                                 # sshd 检查