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

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

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

解决方法

关闭root用户的ssh登陆

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

useradd test 
passwd test

2. 修改配置文件

编辑配置文件/etc/ssh/sshd_config修改PermitRootLogin后面的yesno,而且去掉前面的注释符,同时能够限制失败次数
注意: 这个失败次数是对全部用户都起做用的。code

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

3. 重启sshd服务

systemctl restart sshd.service

此时再用root用户登陆,此时再用root用户登陆,若是不能登陆则表明配置成功。若是须要使用root权限,可使用su或者sudo进行切换。it

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

相关文章
相关标签/搜索