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 a\eisc   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 a\PermitRootLogin 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 a\AllowUsers 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 检查
上一篇:中国移动自研 BC-Linux 系统开始大面积部署


下一篇:物联网入门训练营“W800开发板的奇思妙想”:基于WiFi模块的智能门锁系统