Pages

Monday, 27 January 2020

Linux vps禁止root用户登录

一、怎样登录Linux vps?

远程登录使用的是ssh,ssh其实分为客户端和服务器端,服务器端运行一个叫sshd的守护进程,默认端口为22,客户端命令就是ssh,我们所谓的『远程登录』就是在你自己的电脑上用ssh客户端连接到ssh远程服务器端(格式:ssh 用户名@服务器IP),比如:
ssh root@121.23.45.135
Shell

二、为什么要禁止root用户登录?

由于root用户是超级用户,具有服务器的所有权限,虽然有密码,但是有时为了安全,我们一般会再加一层限制,就是不允许root用户直接登录Linux vps
,而是要用普通用户(比如abcd)登录上去后,再有su命令切换为root用户(事实上因为root用户权限大,很危险,一般操作服务器也不会切换到root用户,而是给普通用户设置sudo权限,这样普通用户就可以通过在所执行的命令前添加sudo来执行那些需要超级用户权限才能执行的操作)。

三、怎样禁止root用户远程登录?

前面说了,ssh的服务器端其实是运行着一个叫sshd的守护进程,所以这个守护进程肯定有配置文件,事实上它确实是有配置文件,/etc/ssh这个目录里都是sshd配置相关的,其中/etc/ssh/ssh_config就是它的配置文件,我们去配置文件里修改配置,即可禁止root远程登录。
找到以下配置(未修改过的时候,该配置处于注释状态)
#PermitRootLogin yes
Shell
把它的注释符号(#号)去掉,然后把yes改成no,表示不允许root登录。
PermitRootLogin no
Shell
修改过sshd的配置文件,肯定要重启sshd,修改才会生效,地球人都知道:
sudo service sshd restart
Shell
为了安全,你还可以修改默认端口(这样以后登录就需要用-p指定你修改后的端口了),找到以下配置项,去掉注释,修改22为你自己想要的端口号,保存,重启sshd服务即可:
#Port 22
登陆linux vps后,运行:
useradd abcd
passwd abcd

以后,就可用abcd登陆你的linux vps.

禁止root用户登录,并且修改了ssh port number,这样就极大的增加了试图hack你的vps的人的工作量,因为黑客没法知道你的登陆用户名,也没法知道你的ssh port number,他光去“碰撞”密码是没用的。

如果不‘禁止root用户登录’,并且未修改ssh port number,那么黑客要“碰撞”你所设置的简单密码是有可能成功的。
------------

related post: https://briteming.blogspot.com/2015/02/vpsssh.html