我曾经通过 VS code 进行远程开发。我在本地 Windows 10 上创建了 SSH 密钥,并将公钥添加到 VM 实例。一周一切都很好。但是今天我的 VS Code 突然显示权限被拒绝。所以我尝试在 GCP 控制台中找出原因。这是我发现的,但我不知道原因是什么以及如何解决它。
- 防火墙规则正确且未更改。
- 无法通过单击虚拟机实例列表 > 连接 > SSH 连接到 GCP 控制台中的虚拟机。显示“连接失败”。单击“故障排除”按钮将显示虚拟机状态正常和网络状态正常,但在检查用户权限时卡在加载时。
从这里开始,我认为它与某些权限问题有关,也许是 SSH 密钥?
- 然后我在本地 Windows 10 上创建了一个新的 SSH 密钥对。
- 然后,新密钥将添加到 VM。未设置到期日期,仅设置“{KEY} {USER}”。但是,我仍然无法通过 VScode 连接 SSH。
- 连接到 GCP 中的虚拟机仍然失败
- 我尝试创建一个新的虚拟机并使用 SSH 密钥对进行测试。关键是工作。我可以用 VS code 连接。
然后我尝试“查看日志”。并发现每次记录用户 g3dayseo 的更新密钥时都会出现许多错误。这里有些例子。
标题
Updating keys for user g3dayseo.
{
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"
}
标题
Invalid ssh key entry - expired key: g3dayseo:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFKv3f/jQZRbGdQnvL5Swy6f/E4Z84nnwHfgyiorYPu5VS5GF9yOOTe3wFFtGLFQns0qHtzIn2MgsEfQQIml8Vk= google-ssh {"userName":"[email protected]","expireOn":"2023-06-30T00:12:27+0000"}
内容
{
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":"[email protected]","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"
}
我不知道现在我能做什么。我搜索了很多文章。有人告诉我们在云壳上试试。
gcloud compute ssh --zone "asia-east1-b" "newpostai" --project "beautylnfcom"
然后它要求输入密码。但我记得我之前没有设置密码。
请帮忙。我很沮丧。虽然我有备份并且可以将其加载到新实例上,但我真的想弄清楚重新启动后这是如何发生的,如何修复它以及如何防止它。
预先感谢您阅读本文。