Debian Bookworm升级后Google Cloud无法管理VM用户及SSH密钥
问题解决:Debian Bookworm升级后GCloud无法管理SSH密钥及用户
核心问题定位
从串口控制台日志可见,Google Guest Agent在处理新用户SSH密钥时失败:
csearch-dev google_guest_agent[2839775]: ERROR non_windows_accounts.go:158 Error updating SSH keys for gke-495d6b605cf336a7b160: mkdir /home/gke-495d6b605cf336a7b160/.ssh: no such file or directory.
原因是安装的Google Cloud工具为Debian 11(Bullseye)版本,与Debian 12(Bookworm)环境不兼容,导致Guest Agent无法自动创建用户主目录及.ssh文件夹。
解决方案步骤
1. 替换Google Cloud软件源为Bookworm版本
当前安装的包均为google-compute-engine-bullseye-stable分支,需切换至Bookworm适配版本:
- 编辑源配置文件:
sudo nano /etc/apt/sources.list.d/google-cloud.list - 将文件中所有
bullseye替换为bookworm - 更新源并重新安装相关工具:
sudo apt update sudo apt install --reinstall google-compute-engine google-compute-engine-oslogin google-guest-agent
2. 修复用户目录权限并重启服务
针对日志中报错的用户,手动创建目录并修复权限(以gke-495d6b605cf336a7b160为例):
sudo mkdir -p /home/gke-495d6b605cf336a7b160/.ssh sudo chown -R gke-495d6b605cf336a7b160:gke-495d6b605cf336a7b160 /home/gke-495d6b605cf336a7b160 sudo chmod 700 /home/gke-495d6b605cf336a7b160/.ssh
重启Guest Agent服务:
sudo systemctl restart google-guest-agent
3. 验证服务状态
检查Guest Agent是否正常运行:
sudo systemctl status google-guest-agent
实时查看日志确认无新错误:
journalctl -u google-guest-agent -f
4. 确认IAM权限(可选)
确保操作账号拥有roles/compute.osLogin或roles/compute.osAdminLogin权限,实例未通过元数据禁用OS Login(已确认无自定义元数据可跳过)。
问题根源
Debian版本升级后,原Bullseye分支的Google Cloud工具包未自动适配Bookworm环境,导致用户创建逻辑与系统目录权限规则不兼容,无法自动生成.ssh目录及对应权限。
内容的提问来源于stack exchange,提问作者Vojtěch
相关产品推荐
相关产品推荐

