Linux禁用root账户ssh登录

Posted 大不不的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux禁用root账户ssh登录相关的知识,希望对你有一定的参考价值。

前言

今天登录服务器的时候,控制台输出如下信息

There were 48990 failed login attempts since the last successful login. 
Last login: Thu Sep 26 14:01:34 2018 from xx.xxx.xxx.xx

意识不对,可能是服务器被攻击了,网上查了查,发现很多人遇到这样的问题

其他网友的说法:
你服务器 IP 在那儿,那 SSH 开在 TCP 22 上谁都能连,连上了谁都能输密码,密码错了就在系统里留下一条记录。
要么是被(无差别地)扫到了,要么是有人在盯着你。只说 SSH 登陆这事,如果你关闭密码登陆(或者密码足够健壮),那有个就算有一百万个猴子在试你的密码,你也完全不用担心的。

解决方法

关闭root用户的ssh登录

1. 使用root账户登录系统,添加一个普通账户例如test,并为其设置密码

useradd test 
passwd test

2. 修改配置文件

编辑配置文件/etc/ssh/sshd_config修改PermitRootLogin后面的yesno,并且去掉前面的注释符,同时可以限制失败次数
注意: 这个失败次数是对所有用户都起作用的。

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 3
#MaxSessions 10

3. 重启sshd服务

systemctl restart sshd.service

此时再用root用户登录,此时再用root用户登录,如果不能登录则代表配置成功。如果需要使用root权限,可以使用su或者sudo进行切换。

注意:禁用root用户后使用sftp时可能出现登录不了的问题,目前还没找到解决办法




以上是关于Linux禁用root账户ssh登录的主要内容,如果未能解决你的问题,请参考以下文章

设置 SSH 通过密钥登录

设置 SSH 通过密钥登录

等级保护2.0之Linux安全系列

等级保护2.0之Linux安全系列

服务器设置 SSH 通过密钥登录

服务器设置 SSH 通过密钥登录