Linux禁止root用户远程登录
Table of Contents
一、怎样远程登录?
远程登录使用的是ssh,ssh其实分为客户端和服务器端,服务器端运行一个叫sshd的守护进程,默认端口为22,客户端命令就是ssh
,我们所谓的『远程登录』就是在你自己的电脑上用ssh客户端连接到ssh远程服务器端(格式:ssh 用户名@服务器IP
),比如:
ssh [email protected]
二、为什么要禁止远程登录?
由于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
觉得文章对你有用的话鼓励一下我吧