禁止CentOs root用户ssh登录

最近一段时间,每次登录云服务器总有大量失败登录的提示,不知道是哪些无聊的人或机器在疯狂的扫描我的服务器,于是修改一下ssh配置文件限制root用户的登录。 记录如下,以备忘!
1、首先用root用户登录,创建普通用户,并分配sudo权限
#创建用户
useradd USERNAME
#修改密码,输入以下命令按提示修改密码,密码不要太简单,太简单系统验证不通过
passwd USERNAME
#添加sudo 权限, 查找sudoers配置文件
vi /etc/sudoers #查看配置文件所在目录 whereis sudoers
#文件末尾添加 添加成功
USERNAME ALL=(ALL) ALL
#使用新添加用户登录,提示输入密码进行下一步操作
sudo cat /etc/passwd
#若不想输入密码,将sudoers最后添加的内容修改如下
USERNAME ALL=(ALL) NOPASSWD: ALL
#添加配置时可能会遇到权限问题
ls -l /etc/sudoers #查看权限
chmod -v u+w /etc/sudoers #给root添加可写权限
chmod -v u-w /etc/sudoers #收回权限
2、修改/etc/ssh/sshd_config 配置
#找到 PermitRootLogin 修改为
PermitRootLogin no
3、保存,重启sshd服务,centos6 通过service restart sshd 重启,centos7 通过 systemctl restart sshd.service 重启
systemctl restart sshd.service
切换到终端,再使用root 登录就会收到如下提示,说明配置是生效了
要想再切回到root用户,使用sudo su root
从root用户切换到普通用户 su username
#题外 之前没有修改ssh配置文件,每次连接后不操作一会儿ssh就断开连接了,频繁登录很烦人,于是google一下找到如下解决办法:修改sshd_config 中的ClientAliveInterval 和 ClientAliveCountMax的值,然后重启ssh服务
# 每次不操作的连接时间为NUM1 * NUM2 s
ClientAliveInterval NUM1
ClientAliveCountMax NUM2
文件权限修改相关请参考:【Linux chmod 命令】