Loading
0

安装Debian 8后如何禁用root SSH登录

我们在一台VPS服务器安装了Debian 8 Server操作系统后,一件非常重要的事情是创建一个新用户并且赋予这个新用户root权限,然后再禁止root用户通过SSH登录。这是服务器安全的基本要求。首先,在任何一台Linux服务器上都会有root用户,黑客可以用暴力破解的方法得出root用户密码。而黑客并不知道我们新建用户的名称,所以暴力破解失去作用。其次,root用户在任何情况下都是以root权限执行操作,一个不小心的操作便会对系统造成破坏。

新建一个用户

以root身份通过SSH登录VPS后,输入下面的命令添加一个新用户,将username替换成新用户的用户名。

adduser username

然后系统会提示为新用户设置一个密码。在输入完后密码后,系统要求提供新用户的人名,电话等信息,我们可以不输入任何信息,一路按回车键,最后按Y键确认。

Linux新建一个用户

赋予新用户root权限

现在,只有root用户具有管理系统的权限。我们现在给新创建的用户赋予root权限以管理系统。当你以这个新用户来进行root权限的管理工作时,需要在命令前面加上sudo。以sudo执行命令都会被记录下/var/log/secure文件中,如果将来需要时可以查看这个文件。

安装sudo工具

apt-get install sudo

然后输入命令:

visudo

这条命令将会打开/etc/sudoers文件,在这个文件中找到User privilege specification。如下:

/etc/sudoers

将下面一行文字复制到root   ALL=(ALL:ALL) ALL这一行下面。把username替换成新用户的用户名。

username ALL=(ALL:ALL) ALL

保存文件后退出。

现在新用户有了root权限。我们也可以输入下面的命令来给用户赋予root权限,这条命令会将用户添加到sudo用户组中。将username替换成新用户的用户名。

usermod -a -G sudo username

用这条命令也可以赋予用户root权限。

禁止root用户通过SSH登录Linux服务器

我们新建好一个管理员用户后,就可以禁止root用户通过SSH登录了。步骤如下:

首先以root用户登录系统,然后用你喜欢的文本编辑器打开/etc/ssh/sshd_config文件(nano, vi等)。

vi /etc/ssh/sshd_config

找到PermitRootLogin yes这一行文字,将它更改成如下:

PermitRootLogin no

在文件末尾添加下面一行文字。将username替换成新用户的用户名。

AllowUsers username

保存/etc/ssh/sshd_config文件并退出文本编辑器。然后重启SSH服务

service ssh restart 或 systemctl restart ssh

现在你仍然是以root身份登录的,这时候你可打开另外一个终端,以新用户通过SSH登录系统。如果前面的设置正确,那么新用户应该可以登录。如果不能登录的话,请检查之前的设置。在新用户成功登录之前,不要关闭root用户的登录。

经过上面的配置后,root用户通过SSH登录系统时即使密码输入正确也会提示Permission denied。我们现在可以用新用户登录来管理系统,或者在新用户登录后用su命令切到root用户来管理系统。

【声明】:8090安全小组门户(https://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。