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

如何查找使用kops在AWS搭建的K8S集群对应的私钥存放位置

解决方法
  • 先排查默认存储路径
    kops生成的SSH私钥默认存放在~/.ssh/目录下,通常文件名会包含集群名称、kops相关标识,格式多为无后缀的私钥文件或.pem后缀文件,可以先执行命令列出所有本地SSH私钥:
    ls ~/.ssh/id_* ~/.ssh/*.pem 2>/dev/null
    
  • 指纹匹配法(准确率最高)
    你可以通过公钥指纹匹配快速定位对应私钥,有两种匹配来源可选:
    1. 匹配AWS EC2密钥对指纹:进入AWS EC2控制台,找到集群实例关联的密钥对,查看其SHA256指纹,随后对本地每个私钥执行指纹计算命令:
      ssh-keygen -lf 私钥文件路径
      计算结果和控制台指纹一致的就是目标私钥。
    2. 匹配kops集群存储的公钥:直接拉取kops状态中存储的集群SSH公钥,和本地私钥导出的公钥对比:
      第一步拉取集群公钥:
      kops get secrets --type sshpublickey admin -o jsonpath='{.spec.publicKey}' > /tmp/cluster_ssh_pub
      第二步对本地每个私钥导出公钥并对比:
      ssh-keygen -y -f 待测试私钥路径 > /tmp/tmp_pub
      diff /tmp/tmp_pub /tmp/cluster_ssh_pub
      
      无diff输出即代表私钥匹配。
  • 快速试连验证
    如果知道集群节点的IP地址,可直接用每个私钥尝试SSH连接,kops部署的AWS节点默认用户名为admin或ubuntu:
    ssh -i 待测试私钥路径 admin@节点IP
    能成功登录的即为目标私钥。
  • 兜底方案:本地无匹配私钥时直接更新密钥
    要是确认本地已经丢失对应私钥,可以直接生成新的SSH密钥对,更新到kops集群配置后滚动生效即可:
    # 生成新密钥对
    ssh-keygen -t ed25519 -f ~/.ssh/new_k8s_cluster_key
    # 更新到kops集群
    kops create secret --name 你的集群域名 sshpublickey admin -i ~/.ssh/new_k8s_cluster_key.pub
    kops update cluster --name 你的集群域名 --yes
    kops rolling-update cluster --name 你的集群域名 --yes
    
    滚动更新完成后就可以用新的私钥登录所有节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 03:24:03