$ PC530 常用脚本

Ubuntu 系统上一键开启 root 用户并允许外网 SSH 远程登录

分类:ubuntu 系统维护 · 文件名:enable-root.sh · 收藏:0

使用示例

Ubuntu / Linux

bash <(curl -fsSL https://pc530.com/scripts/read/enable-root.sh)

WINDOWS PowerShell

irm "https://pc530.com/scripts/read/enable-root.sh" | iex

说明

步骤 1:创建脚本文件

在 Ubuntu 终端中执行以下命令,创建并编辑脚本(例如命名为 enable-root.sh):

nano enable-root.sh
将上面的代码复制并粘贴进去,按 `Ctrl + O` 保存,`Ctrl + X` 退出。

### 步骤 2:赋予执行权限

```bash
chmod +x enable-root.sh
### 步骤 3:使用 sudo 权限运行

```bash
sudo ./enable-root.sh
### 步骤 4:交互输入

运行期间,终端会提示 `请为 root 用户设置新密码:`,此时连续输入**两次**你理想的 `root` 密码即可(输入时屏幕不会显示任何字符,直接输完按回车即可)。

---

## 💡 后续安全优化建议(强烈推荐)

因为公网有大量的扫描器在盲扫 22 端口并爆破 root 密码,完成此操作后,强烈建议你做以下两点防护:

1. **修改默认 SSH 端口**:打开 `/etc/ssh/sshd_config`,找到 `#Port 22`,取消注释并改为其他非标准端口(如 `22222`),然后 `systemctl restart ssh`。
2. **安装 Fail2ban**:防止暴力破解,自动封禁恶意尝试登录的 IP。
```bash
sudo apt update && sudo apt install fail2ban -y

```

脚本内容

#!/bin/bash

# 确保脚本以 root 权限运行
if [ "$EUID" -ne 0 ]; then
  echo "错误:请使用 sudo 运行此脚本!"
  exit 1
fi

echo "================================================="
echo " 开始配置:开启 root 用户外网 SSH 登录"
echo "================================================="

# 1. 允许 SSH 远程连接 root 用户
echo "[1/4] 修改 SSH 配置文件..."
SSHD_CONFIG="/etc/ssh/sshd_config"

if [ -f "$SSHD_CONFIG" ]; then
    # 移除可能存在的旧配置,确保不冲突
    sed -i '/^PermitRootLogin/d' $SSHD_CONFIG
    sed -i '/^PasswordAuthentication/d' $SSHD_CONFIG
    
    # 追加新配置:允许 root 登录,允许密码认证
    echo "PermitRootLogin yes" >> $SSHD_CONFIG
    echo "PasswordAuthentication yes" >> $SSHD_CONFIG
    echo "-> SSH 配置修改完成。"
else
    echo "错误:未找到 $SSHD_CONFIG,请检查是否安装了 openssh-server!"
    exit 1
fi

# 2. 解锁 root 用户(防止 root 被锁死)
echo "[2/4] 解锁 root 用户..."
passwd -u root > /dev/null 2>&1
echo "-> root 用户已解锁。"

# 3. 设置 root 密码
echo "[3/4] 请为 root 用户设置新密码:"
passwd root

# 4. 重启 SSH 服务使配置生效
echo "[4/4] 重启 SSH 服务..."
systemctl restart ssh > /dev/null 2>&1 || systemctl restart sshd > /dev/null 2>&1

echo "================================================="
echo "🎉 配置完成!你现在可以通过 root 用户从外网登录了。"
echo "================================================="