«

Ubuntu开启SSH服务并允许root登录配置

时间:2026-11-14 07:10     作者:emer     分类: Linux


前言

新装的 Ubuntu 服务器默认可能没有安装 openssh-server,远程 SSH 连不上;或者安装了 SSH 但禁止 root 用户直接登录,用普通用户登入后还要切换。很多运维第一次远程连接 Ubuntu 就卡在 Permission denied。本文讲解安装 openssh-server、开启服务、放行防火墙、修改配置允许 root 登录、重启生效并验证的完整步骤,同时说明禁止 root 直连的安全取舍。

操作步骤

1. 安装 SSH 服务端

sudo apt update
sudo apt install -y openssh-server

2. 启动并设置开机自启

sudo systemctl enable --now ssh
sudo systemctl status ssh

看到 active (running) 即服务正常,Ubuntu 服务名是 ssh(不是 sshd)。

3. 防火墙放行 22 端口(ufw)

sudo ufw allow 22/tcp
sudo ufw reload

没启用 ufw 可跳过,云服务器还要在控制台安全组放行 22。

4. 编辑 sshd 配置允许 root 登录

sudo vi /etc/ssh/sshd_config

找到或修改:

PermitRootLogin yes
PasswordAuthentication yes

PermitRootLogin yes 允许 root 密码登录;若用密钥可保留 PermitRootLogin prohibit-password。

5. 重启 SSH 服务

sudo systemctl restart ssh

6. 验证连接

ssh root@服务器IP

新开一个终端测试,不要关闭当前窗口,防止配置错误把自己锁在外面。

常见坑

  1. 服务名写错成 sshd,Ubuntu 上 systemctl restart sshd 报未找到单元。
  2. 只装了客户端 openssh-client,没装服务端 openssh-server。
  3. PermitRootLogin 被注释或值为 no,root 登录直接被拒。
  4. 改完配置不重启 ssh,参数不生效。
  5. 云安全组没放行 22,本机防火墙放行了也连不上。
  6. 允许 root 密码登录风险高,公网建议改用密钥登录并关闭密码认证。
  7. /etc/ssh/sshd_config.d/ 下的子配置可能覆盖主配置,注意排查。

总结

Ubuntu 开启 SSH 的关键是装 openssh-server、enable --now ssh、ufw 放行 22,再在 sshd_config 设置 PermitRootLogin。生产环境更推荐密钥登录、关闭 root 密码直连。任何 sshd_config 修改后都要保留当前会话,新开窗口验证成功再关闭旧连接。

遇到问题加QQ23979811 协助处理

标签: SSH Ubuntu root登录 openssh