如何开启 Ubuntu VPS 的 root 登录?这份脚本直接搞定
简介
在多数 VPS 主机(如 Vultr、RackNerd、HostHatch 等)默认安装的 Ubuntu 系统中,为了安全考虑,root 账户默认被禁用远程登录。但在进行系统初始配置、部署脚本或修复权限时,我们经常需要直接以 root 身份登录系统。我将提供一段 一键开启 root 登录的 Shell 脚本,无需繁琐修改,只需运行一次,即可完成 root 密码设置与 SSH 配置修改,快速解锁 Ubuntu VPS 的 root 登录权限。
适用系统: Ubuntu 18.04 / 20.04 / 22.04
适用场景: 新购 VPS 后无法使用 root 登录,需开启 SSH root 权限
脚本特点: 一键设置 root 密码 + 修改 SSH 配置 + 重启 SSH 服务
教程
我们先创建脚本的名字
vi enable-root.sh
然后按 I
进行编辑 ,进入编辑状态后,复制下面的脚本粘贴进去,再保存按 :wq
#!/bin/bash
# === 设置颜色输出 ===
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${YELLOW}>>> 检查当前系统状态...${NC}"
# 检查是否为 Ubuntu 系统
if ! grep -qi ubuntu /etc/os-release; then
echo -e "${RED}本脚本仅适用于 Ubuntu 系统,终止执行。${NC}"
exit 1
fi
# 检查是否已经允许 root 登录
if grep -q "^PermitRootLogin yes" /etc/ssh/sshd_config; then
echo -e "${GREEN}root 登录权限已开启,无需重复设置。${NC}"
exit 0
fi
# === 备份 SSH 配置文件 ===
backup_file="/etc/ssh/sshd_config.bak.$(date +%F-%H%M%S)"
sudo cp /etc/ssh/sshd_config "$backup_file"
echo -e "${GREEN}已备份原 SSH 配置到 ${backup_file}${NC}"
# === 设置 root 密码 ===
echo -e "${YELLOW}>>> 为 root 用户设置密码(请输入两次):${NC}"
sudo passwd root
# === 修改 SSH 配置文件 ===
sudo sed -i 's/^#\?PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
grep -q "^PermitRootLogin" /etc/ssh/sshd_config || echo "PermitRootLogin yes" | sudo tee -a /etc/ssh/sshd_config
# === 提示用户是否要修改 SSH 端口 ===
read -p "是否要修改 SSH 端口(默认22)?输入新端口或直接回车跳过: " new_port
if [[ "$new_port" =~ ^[0-9]+$ ]] && ((new_port > 0 && new_port < 65536)); then
sudo sed -i "s/^#\?Port .*/Port $new_port/" /etc/ssh/sshd_config
grep -q "^Port" /etc/ssh/sshd_config || echo "Port $new_port" | sudo tee -a /etc/ssh/sshd_config
echo -e "${GREEN}SSH 端口已修改为 $new_port,请记得调整防火墙与连接方式。${NC}"
fi
# === 重启 SSH 服务 ===
sudo systemctl restart ssh
echo -e "${GREEN} SSH 服务已重启,root 登录权限开启成功。${NC}"
# === 输出登录说明 ===
IP=$(hostname -I | awk '{print $1}')
PORT=${new_port:-22}
echo -e "${YELLOW} 登录命令参考:${NC}"
echo -e " ${GREEN}ssh root@${IP} -p ${PORT}${NC}"
赋予执行权限
chmod +x enable-root.sh
运行
./enable-root.sh
执行后,我们可以看到需要要求给root账号设置一个密码,输入完成即可
当然,如果是已经执行过脚本,再次运行会检测到无需重复执行
版权声明:
作者:ivpsr.com
链接:https://ivpsr.com/9576.html
文章版权归作者所有,未经允许请勿转载。
THE END