linux下禁止root ssh远程登录和添加允许新用户登录ssh-阿里云开发者社区

开发者社区> 开发与运维> 正文

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

简介: 禁用ssh root登录
######### 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 检查

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章