Linux禁止root用户ssh登录
1、背景描述
-
出于安全考虑,需要禁止使用root用户通过ssh远程登录Linux
-
禁用root用户远程登录后,需要提供一个权限用户用于ssh远程登录
2、创建拥有sudo权限的用户
2.1、创建一个普通用户rain
useradd命令用于创建一个用户, 选项 -m 表示创建用户的主目录, -c 表示添加注释
useradd -m -c "Normal User" rain
2.2、为普通用户rain设置密码
注意:密码长度应该不少于8位,包括字母大小写、数字和特殊符号,且不包含用户名
passwd rain
2.3、将用户rain添加进管理组
usermod命令用于修改用户的各项设定,-G 指定用于添加用户的组,如果省略-a 选项,则用户将从 -G 选项后未列出的组中删除
注意:在CentOS/RHEL发行版中,wheel组有sudo权限;但在Debian/Ubuntu发行版中,有sudo权限的是sudo组
usermod -aG wheel rain
3、禁止root用户ssh登录
3.1、切换到权限用户rain
创建具有管理权限的用户后,切换到该用户以阻止root用户通过ssh登录系统
su rain
3.2、编辑sshd_config文件
虽然该文件直接用root账号也能修改,但用权限账号(rain)修改可以确保这个账号已有sudo权限
sudo vi /etc/ssh/sshd_config
如上图所示,将 PermitRootLogin 参数的值设置为 no
PermitRootLogin no
3.3、重新启动sshd服务
修改完 PermitRootLogin 参数值后,保存并关闭文件;然后重新启动sshd服务以应用更改的配置
注意,旧Linux版本的系统重启sshd服务的命令可能是:sudo service sshd restart
sudo systemctl restart sshd
3.4、测试root用户ssh登录效果
如图所示,登录效果和密码错误一样
本文参考
https://www.cnblogs.com/bestwei/p/11969227.html