You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP VM添加SSH公钥提示缺少用户名,SSH连接失败求助

问题原因及解决方法

一、公钥格式警告的原因及修复

原因

GCP要求SSH公钥必须遵循**<用户名>:<公钥内容>的格式,你的公钥仅包含ssh-rsa AAAAB3NzaC1yc2... root@hostname,缺失了开头的用户名前缀**,因此触发警告。这里的用户名需要是VM/GKE节点上实际存在的用户账号。

修复步骤

  1. 修改你的id_rsa.pub文件格式,在公钥开头添加节点上存在的用户名(GKE节点默认存在ubuntu用户,不建议用root),格式如下:
    ubuntu:ssh-rsa AAAAB3NzaC1yc2 ... root@hostname
    
  2. 重新执行添加元数据的命令:
    gcloud compute instances add-metadata <instance-name> --zone=us-east4-a  --metadata-from-file ssh-keys=id_rsa.pub
    

二、SSH连接GKE节点失败的原因及修复

原因

  1. 公钥格式错误:前面的格式问题导致节点未正确将公钥写入对应用户的~/.ssh/authorized_keys文件。
  2. 禁用root登录:GKE节点默认禁止root用户通过SSH登录,你尝试用root账号连接必然会被拒绝。
  3. 用户不存在:如果指定的用户名在节点上不存在,也会导致权限拒绝。

修复步骤

  1. 确保使用节点上存在的用户(如默认的ubuntu)执行SSH连接:
    ssh ubuntu@<private_ip_of_the_node>
    
  2. 若需要使用其他用户,需先确认该用户在节点上已创建,再按正确格式添加对应公钥到元数据。
  3. 检查集群内部网络连通性:确保你的客户端所在Pod/VM和GKE节点在同一VPC或已打通网络,且节点的防火墙规则允许内部IP的SSH(22端口)访问(GKE默认集群规则已允许,若自定义规则需验证)。

内容的提问来源于stack exchange,提问作者pkaramol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:24:31