Ubuntu allow root login

Ubuntu 中默认是禁止 root 远程 SSH 登录的,需要手动开启。下面给你一套标准、安全的操作步骤(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


1. 先确认是否安装 SSH

dpkg -l | grep openssh-server

如果没有安装:

sudo apt update
sudo apt install openssh-server -y

确认 SSH 服务运行:

sudo systemctl status ssh

2. 给 root 设置密码(默认可能未启用)

Ubuntu 默认 root 没有密码,需要设置:

sudo passwd root

输入两次密码即可。


3. 修改 SSH 配置允许 root 登录

编辑配置文件:

sudo nano /etc/ssh/sshd_config

找到这一行:

#PermitRootLogin prohibit-password

改成:

PermitRootLogin yes

⚠ 如果没有这行,就手动添加。


3.1. 同时确认密码认证开启

找到:

PasswordAuthentication

确保是:

PasswordAuthentication yes

4. 重启 SSH 服务

sudo systemctl restart ssh

5. 测试远程登录

在另一台机器执行:

ssh root@你的服务器IP

6. 如果无法连接

检查防火墙:

6.1. 如果用 UFW:

sudo ufw allow ssh
sudo ufw status

6.2. 如果是云服务器

需要在云平台安全组放行 22 端口。


🚨 强烈安全提醒

开放 root + 密码登录非常不安全,尤其是公网服务器。

更安全方式:

0.1. 推荐做法

PermitRootLogin prohibit-password

然后使用:


🔒 更安全的 root 远程方式(推荐)

  1. 生成密钥

  2. 把公钥加入 /root/.ssh/authorized_keys

  3. 设置:

PermitRootLogin prohibit-password
PasswordAuthentication no

这样只允许密钥登录 root。