#!/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 "================================================="