📜  sed 允许 root 登录 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:20:03.396000             🧑  作者: Mango

Sed 允许 root 登录

简介

在Linux系统中,root用户是拥有最高权限的用户,而普通用户则拥有比较有限的权限。为了保障系统的安全,Linux默认情况下禁止root用户通过SSH登录,只允许通过其它用户登录后再切换到root用户,这样可以有效的降低系统的风险。但有时,我们需要在特定的情况下允许root用户通过SSH登录,这时需要修改配置文件来允许这种操作。本文将介绍如何使用sed命令修改配置文件。

什么是sed

Sed是一种流编辑器(stream editor),是一种文本处理工具,可以将文本数据以行为单位进行处理。

使用Sed可以实现对文本的替换、删除、新增、选取等操作。Sed是一个强大的命令行工具,在Linux系统中广泛应用于文本处理方面。

Linux下允许root用户远程SSH登录

Linux系统允许管理者配置SSH服务,以防止所有人都可以通过SSH登录到服务器上。默认情况下,Linux服务器不允许root用户通过SSH登录。如果需要允许root用户通过SSH登录,则需要按照以下步骤进行操作。

1. 修改SSH配置文件

打开SSH配置文件/etc/ssh/sshd_config,并找到以下行。

PermitRootLogin prohibit-password

将上面的行修改为:

PermitRootLogin yes
2. 重启SSH服务

修改配置文件后,需要重启SSH服务,使得修改生效。在Linux命令行中输入以下命令:

sudo systemctl restart sshd.service
3. 验证设置是否生效

修改完上述配置后需要验证设置是否生效。在本地终端中输入以下命令:

ssh root@<your_server_ip>

如果可以成功登录,说明root用户允许通过SSH登录了。

使用sed命令修改SSH配置文件

在命令行界面中可以使用sed命令修改SSH配置文件,这也是本文所要介绍的方法。

首先,使用vim或者其它编辑器打开SSH配置文件/etc/ssh/sshd_config。

sudo vim /etc/ssh/sshd_config

然后,在命令行中输入以下命令:

sudo sed 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' -i /etc/ssh/sshd_config

命令中的第一个参数's/PermitRootLogin prohibit-password/PermitRootLogin yes/'表示将配置文件中的'PermitRootLogin prohibit-password'替换为'PermitRootLogin yes',其中s表示进行替换操作。

命令中的第二个参数'-i'表示在原始文件中进行修改(不使用-i参数则仅显示替换后的结果,不会修改原始文件)。

命令中的第三个参数'/etc/ssh/sshd_config'表示要修改的目标文件。

完成替换后,使用以下命令重启SSH服务。

sudo systemctl restart sshd.service

Done! 现在你可以通过root用户远程登录到你的Linux服务器了。