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 检查
目录
相关文章
|
23天前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
17天前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
15 0
Linux查看和剔除当前登录用户详细教程
|
24天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
23天前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
59 1
|
22天前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
24天前
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?
|
Linux 数据安全/隐私保护
|
13天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
173 73
|
6天前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
28 6
Linux 中 Tail 命令的 9 个实用示例
|
11天前
|
Linux 应用服务中间件 nginx