google-cloud-platform - 我找不到从 Google Cloud Platform 下载的 VM 登录凭据
问题描述
我刚刚下载了我正在运行的 VM 实例的副本,并将其转换为 .VDI 文件,以便可以在我的 VirtualBox 中运行它。
当我启动它时,我在登录页面中收到提示,但我在 VM 中找不到任何登录凭据。有谁知道我在哪里可以找到它?
我尝试使用 SSH 找到密码,但无法解密。我也尝试使用我的帐户凭据、电子邮件和密码登录,但它不起作用。
虚拟机也给了我一个提示:“num lock on”。我不知道它是否有用。谢谢
PS 我在 GCP 面板上拥有完全访问权限(但我不是超级管理员)
解决方案
如果您尝试使用 Google Cloud Platform 之外的第三方工具连接到 GCE 实例 (VM),您必须生成自己的 SSH 密钥对并将您的公共 SSH 密钥文件提供给实例,然后才能连接。
要创建您的密钥对:
Linux 和 macOS
打开终端并运行
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
where
[KEY_FILENAME]
是您在其中创建密钥的文件的名称,并且[USERNAME]
是连接到 VM 的用户的名称。
限制对您的私钥的访问
chmod 400 ~/.ssh/[KEY_FILENAME]
视窗
- 下载puttygen.exe。
- 运行puttygen。
- 单击生成并按照说明进行操作。
- 在密钥注释部分,将现有文本替换为将使用密钥连接到 VM 的用户的用户名。
- 单击保存私钥将您的私钥写入带有
.ppk
扩展名的文件。- 单击保存公钥将您的公钥写入文件以供以后使用。
之后,您必须向您的实例提供 SSH 密钥。最好的方法是启用OS Login。
推荐阅读
- c - 无法在c中以读取模式打开文件
- macos - PyPy 错误:AttributeError:在库中找不到符号 SCDynamicStoreCopyProxies
- android - 如何使用 mediaMuxer 在后台线程中记录视图
- azure - Azure 数据工厂 - 我们可以在数据流的派生列中使用局部变量吗?
- docker - 为 Docker Compose 条件化绑定挂载卷
- node.js - 无法识别环境变量的 TypeScript 声明
- html - 试图用灯箱做一个画廊但没有弹出
- javascript - 有什么方法可以仅从用户对象中获取 dmChannel id?(discord.js v11)
- perl - 为什么符号的包限定会导致使用的内存更少,即使符号是在本地导入的?
- javascript - 查找数组中时差为 1 分钟的所有对象