首页
/ Proxmox中Ubuntu 22.04云虚拟机SSH root登录问题解决方案

Proxmox中Ubuntu 22.04云虚拟机SSH root登录问题解决方案

2025-05-16 22:19:01作者:管翌锬

在Proxmox虚拟化平台上部署Ubuntu 22.04云虚拟机时,用户可能会遇到无法通过SSH以root身份登录的问题,系统会返回"permission denied (public key)"错误。本文将深入分析该问题的原因并提供有效的解决方案。

问题现象

当用户在Proxmox上创建新的Ubuntu 22.04云虚拟机并运行SSH配置脚本后,尝试从客户端SSH连接时,即使使用正确的公钥认证方式,仍然无法以root用户身份登录,系统会拒绝连接并显示权限被拒绝的错误信息。

问题根源

该问题的主要原因是Ubuntu 22.04云镜像中的默认配置限制了root用户的SSH登录。具体来说,/etc/cloud/cloud.cfg.d/60-cloudimg-settings.conf文件中的配置会覆盖用户的SSH设置,导致即使正确配置了SSH密钥,root用户仍然无法登录。

解决方案

要解决这个问题,可以按照以下步骤操作:

  1. 登录到问题虚拟机(可以通过控制台或现有可用的用户账户)
  2. 导航至配置文件目录:cd /etc/cloud/cloud.cfg.d/
  3. 重命名问题配置文件:sudo mv 60-cloudimg-settings.conf 60-cloudimg-settings.conf.bak
  4. 重启虚拟机:sudo reboot

这个操作会禁用云镜像的默认SSH配置,恢复标准的SSH认证行为。重启后,用户应该能够正常使用SSH密钥以root身份登录虚拟机。

技术背景

Ubuntu云镜像默认启用了cloud-init服务,该服务会在首次启动时自动配置系统。其中的SSH配置模块可能会覆盖用户的手动设置,特别是对于root用户的访问控制。通过禁用或重命名相关配置文件,可以避免这些自动配置干扰用户的自定义设置。

注意事项

  1. 在修改系统配置文件前,建议先备份原始文件
  2. 确保SSH服务已正确安装和运行(sudo systemctl status ssh
  3. 确认防火墙设置没有阻止SSH连接(默认端口22)
  4. 检查/etc/ssh/sshd_config中PermitRootLogin设置是否为yes或prohibit-password

通过以上步骤和检查,用户应该能够成功解决Proxmox中Ubuntu 22.04云虚拟机的SSH root登录问题。

登录后查看全文
热门项目推荐
相关项目推荐