ubuntu系使用root用户登录显示密码错误

你遇到的核心问题是执行命令的顺序错误,修改 root 密码的操作在 sshd 服务后台运行后才执行,导致密码根本没真正生效,后续 SSH 登录自然提示密码错误,另外还有几个 ssh 服务运行的关键配置没做,即使密码改对也可能登不上。

问题根源拆解

你的命令执行流程里,/usr/sbin/sshd -D前台阻塞运行 sshd 服务,执行这条命令后,终端会被占用,后续的passwd root根本没机会执行,相当于你从来没真正修改过 root 密码,登录时用的是系统默认的空密码 / 随机密码,必然提示错误。

另外 ubuntu22.04 的 openssh-server 默认会禁止 root 用户密码登录,还需要修改配置才能允许,这也是后续要补的关键步骤。

正确的完整操作步骤(按这个顺序执行)

全程在docker run进入的 ubuntu 容器终端中操作,严格按顺序来,一步都别乱:

1. 先更新源 + 安装 openssh-server
复制代码
apt update && apt install -y openssh-server  # docker容器内默认是root,无需sudo
2. 修改 ssh 配置,允许 root 密码登录(关键)

ubuntu22.04 的 sshd 默认禁用 root 密码登录,必须修改配置文件:

复制代码
# 编辑sshd配置文件
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
3. 重置 root 密码(这一步要先做,再启动 sshd)
复制代码
passwd root

执行后会提示你输入 2 次新密码(输入时终端不会显示任何字符,正常输入即可),记住这个密码,后续 SSH 登录用。

4. 最后启动 sshd 服务
复制代码
# 前台启动,阻塞运行,保持容器不退出
/usr/sbin/sshd -D

# 或者重启sshd服务(让配置生效)
service ssh restart

补充:SSH 客户端登录命令

在宿主机(或其他能访问宿主机的机器)执行以下命令,端口用你映射的2222,密码填上面设置的 root 密码:

复制代码
ssh root@宿主机IP -p 2222
  • 如果是本机宿主机,IP 填127.0.0.1即可;
  • 如果登录时提示Host key verification failed,执行ssh-keygen -f "/root/.ssh/known_hosts" -R "[127.0.0.1]:2222"清除旧密钥后重新登录。

额外优化:避免容器退出后配置丢失

你当前的方式是临时容器 ,容器停止后所有安装的 ssh、修改的密码都会丢失,下次启动需要重新配置。如果想持久化配置,建议提交镜像

  1. 打开新的宿主机终端,提交当前容器为新镜像:

    复制代码
    docker commit tmp_ubuntu ubuntu22.04-ssh
  2. 后续用新镜像启动容器,直接带 ssh 服务,无需重新配置:

    复制代码
    docker run -it --name ubuntu-ssh -p 2222:22 ubuntu22.04-ssh /usr/sbin/sshd -D

总结

  1. 核心错误:先启动 sshd 再改密码,导致密码修改命令未执行,这是登录密码错误的根本原因;
  2. 必要配置:ubuntu22.04 需修改sshd_config开启PermitRootLogin yes,否则即使密码正确也无法 root 登录;
  3. 正确顺序:更新源→装 ssh→改 sshd 配置→改 root 密码→最后启动 sshd;
  4. 持久化:通过docker commit提交镜像,避免容器重启后配置丢失。
相关推荐
大耳朵-小飞象15 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技15 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++16 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室17 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
生活爱好者!18 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
groundhappy19 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
尽兴-20 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕20 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon20 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi21 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎