Linux禁止root用户远程登录

Linux禁止root用户远程登录

一、怎样远程登录?

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

ssh root@121.23.45.135

二、为什么要禁止远程登录?

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

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

前面说了,ssh的服务器端其实是运行着一个叫sshd的守护进程,所以这个守护进程肯定有配置文件,事实上它确实是有配置文件,/etc/ssh这个目录里都是sshd配置相关的,其中/etc/ssh/ssh_config就是它的配置文件,我们去配置文件里修改配置,即可禁止root远程登录。

找到以下配置(未修改过的时候,该配置处于注释状态)

#PermitRootLogin yes

把它的注释符号(#号)去掉,然后把yes改成no,表示不允许root登录。

PermitRootLogin no

修改过配置,肯定要重启才能生效,地球人都知道:

sudo service sshd restart

为了安全,你还可以修改默认端口(这样以后登录就需要用-p指定你修改后的端口了),找到以下配置项,去掉注释,修改22为你自己想要的端口号,保存,重启sshd服务即可:

#Port 22
打赏

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Linux禁止root用户远程登录