Linux禁止root用户ssh登录

1、背景描述

  • 出于安全考虑,需要禁止使用root用户通过ssh远程登录Linux

  • 禁用root用户远程登录后,需要提供一个权限用户用于ssh远程登录

2、创建拥有sudo权限的用户

2.1、创建一个普通用户rain

image

useradd命令用于创建一个用户, 选项 -m 表示创建用户的主目录, -c 表示添加注释

useradd -m -c "Normal User" rain

2.2、为普通用户rain设置密码

image

注意:密码长度应该不少于8位,包括字母大小写、数字和特殊符号,且不包含用户名

passwd rain

2.3、将用户rain添加进管理组

image

usermod命令用于修改用户的各项设定,-G 指定用于添加用户的组,如果省略-a 选项,则用户将从 -G 选项后未列出的组中删除

注意:在CentOS/RHEL发行版中,wheel组有sudo权限;但在Debian/Ubuntu发行版中,有sudo权限的是sudo组

usermod -aG wheel rain

3、禁止root用户ssh登录

3.1、切换到权限用户rain

image

创建具有管理权限的用户后,切换到该用户以阻止root用户通过ssh登录系统

su rain

3.2、编辑sshd_config文件

image

虽然该文件直接用root账号也能修改,但用权限账号(rain)修改可以确保这个账号已有sudo权限

sudo vi /etc/ssh/sshd_config

image

如上图所示,将 PermitRootLogin 参数的值设置为 no

PermitRootLogin no

3.3、重新启动sshd服务

image

修改完 PermitRootLogin 参数值后,保存并关闭文件;然后重新启动sshd服务以应用更改的配置

注意,旧Linux版本的系统重启sshd服务的命令可能是:sudo service sshd restart

sudo systemctl restart sshd

3.4、测试root用户ssh登录效果

image

如图所示,登录效果和密码错误一样

本文参考

https://www.cnblogs.com/bestwei/p/11969227.html

https://blog.csdn.net/allway2/article/details/122111636

posted @ 2023-09-12 17:29  Javaer1995  阅读(2899)  评论(0编辑  收藏  举报