前言
linux的root用户是大家都知道的, 很多人可以通过root用户进行密码暴力破解. 为了服务器的安全, 我们应该指定一个只有自己知道的普通用户名登陆, 并且禁止root用户登陆.
步骤
新建用户名,并确定密码
#新建用户 useradd zhangsan #修改密码 passwd zhangsan
补充1: 我们添加了新用户后, 每次登陆需要输入用户名和密码, 这篇文章ssh常见问题汇总告诉了我们如何无密码登陆. 并且无密码登陆可以防止别人中途拦截我们密码, 这个也是很重要的安全措施.
补充2: 如果感觉用户名取得不好, 可以使用
userdel -r [用户名]
命令删除掉用户. 不要使用userdel [用户名]
命令来删除. 因为删除不干净, 下次创建同一个用户名时会报用户名已存在的错误.
给
/etc/sudoers
文件添加写权限#增加写权限 chmod u+w /etc/sudoers
编辑/etc/sudoers文件,添加
[用户名] ALL=(ALL) ALL
语句#打开文件 vim /etc/sudoers
添加下面的语句
zhangsan ALL=(ALL) ALL
撤销文件的写权限(www.hedaoshe.com)
chmod u-w /etc/sudoers
修改sshd配置文件,禁止root用户登陆
#打开sshd配置文件 vim /etc/ssh/sshd_config
添加下面的语句
PermitRootLogin no
确保没用忘记root密码和zhangsan密码后就可以重启sshd服务
systemctl restart sshd
通过上面的步骤, 我们就只能通过zhangsan这个账号来登陆, root账户不允许登陆.当我们用普通账户登陆后, 可以使用
su - root
命令却换到root账户, 这样对我们来说只是多了一行命令, 但是却使服务器安全进了一大步.
su - root
和su root
的区别, 使用su - root
可以切换到root用户环境, 切换后和使用root登陆无任何区别. 使用su root
只能执行root用户命令, 而环境还是普通用户的环境. 推荐使用su - root
.
更进一步
虽然我们禁止了root账号登陆, 但是为了更进一步安全. 我们可以修改sshd的登陆端口号, 因为sshd默认22端口号, 大家都知道
#打开sshd配置文件
vim /etc/ssh/sshd_config
添加下面的语句
Port [自定义端口号]
重启sshd
systemctl restart sshd
修改端口号后只是登陆的时候多加个端口号就行
ssh -p [端口号] zhangsan@192.0.0.1
结尾
经过上面的步骤, 别人想要暴力破解登陆我们服务器的难度就加大了很多, 但对我们自己登陆没有任何影响, 只是需要记住三个东西:登陆用户名
,root登陆密码
,登陆端口号
修改后不能登陆的问题: 如果修改后不能登陆, 那么一定是防火墙的问题. 所以在没确定能登陆之前不要禁止root用户和22端口号.