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

重启GCP VM后无法SSH连接的问题排查与求助

重启GCP VM后无法SSH连接的问题排查与求助

大家好,我最近碰到了一个棘手的问题,想请各位帮忙分析下:

之前我一直用VS Code做远程开发,在本地Win10上生成了SSH密钥,把公钥加到GCP的VM实例里,一切正常用了整整一周。结果今天VS Code突然弹出permission denied,彻底连不上了。

我已经做了这些排查步骤:

  • 确认防火墙规则完全正常,没有做过任何修改
  • 在GCP控制台里直接点VM实例列表>Connect>SSH尝试连接,显示“Connection Failed”;点“Troubleshoot”后,VM状态和网络状态都显示OK,但检查用户权限的环节一直卡住加载
  • 怀疑是SSH密钥出了问题,于是在本地Win10重新生成了一对新的SSH密钥,特意没设过期时间,格式就是{KEY} {USER},加到VM里后还是连不上,GCP控制台的SSH连接依然失败
  • 我新建了一个VM测试这对新密钥,完全没问题,VS Code能正常连接远程开发

之后我去查看VM的日志,发现每次记录“Updating keys for user g3dayseo”之后都会跟着一堆错误,比如:

INFO日志示例

{
  insertId: "27ysnuf4tckja"
  jsonPayload: {
    localTimestamp: "2023-06-30T00:09:42.8300Z"
    message: "Updating keys for user g3dayseo."
  }
  logName: "projects/beautylnfcom/logs/GCEGuestAgent"
  receiveTimestamp: "2023-06-30T00:09:43.842531278Z"
  resource: {2}
  severity: "INFO"
  sourceLocation: {3}
  timestamp: "2023-06-30T00:09:42.830084525Z"
}

ERROR日志示例

{
  insertId: "1js4l5ne4dso2"
  jsonPayload: {
    localTimestamp: "2023-06-30T00:12:42.9094Z"
    message: "Invalid ssh key entry - expired key: g3dayseo:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWSRpEt0TN03Jehtu0HEM2pXoJK7+wqZfss/TSbCGqPaZ4y36nZ8d/zyc9Q3cLkTFN9nYlDEwwUnG1UASpKBYox0Q7o/KTBOP0YGzksTPTvBjWaiUlCmZ/jAdj3ATaH5xyyjX89V5BXWAJRG2HxbW/U1r48Uk5Z+OZ8Q82MzYST6FkJbONp2jG9NEIiyg/oEj8iCpAMlh6xcioAlYZSyvAcKR6auCDkOcUTOkTG09/UG/3ZHdY+ZnMiMyGI1rc9fTN36yA7oSMvpKWxvk+caWpUTA4jlovxYIm5EeN9vk5BKK2YGt7cBNynZgA394M/mKAIk/n3rLaAVBitIexwntL google-ssh {"userName":"3dayseo@gmail.com","expireOn":"2023-06-30T00:12:41+0000"}"
  }
  logName: "projects/beautylnfcom/logs/GCEGuestAgent"
  receiveTimestamp: "2023-06-30T00:12:43.919710439Z"
  resource: {
    labels: {3}
    type: "gce_instance"
  }
  severity: "ERROR"
  sourceLocation: {
    file: "non_windows_accounts.go"
    function: "main.getUserKeys"
    line: "199"
  }
  timestamp: "2023-06-30T00:12:42.909503214Z"
}

从错误日志里能看到明确提示“expired key”,但我新添加的密钥明明没设置过期时间啊?

后来我尝试用Cloud Shell的命令连接:

gcloud compute ssh --zone "asia-east1-b" "newpostai" --project "beautylnfcom"

结果它要求输入密码,但我印象里根本没给这个VM设置过密码。

现在我虽然有备份可以恢复到新实例,但真的想搞清楚几个问题:

  1. 为什么VM重启后会突然出现这个问题?
  2. 当前这个VM还有修复的可能吗?具体要怎么操作?
  3. 以后要怎么避免这种情况再次发生?

麻烦各位大佬帮忙看看,实在是有点崩溃了,谢谢大家!

备注:内容来源于stack exchange,提问作者Philip

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:43:07