【问题标题】:How to recover private key from ~/.ssh/google_compute_engine如何从 ~/.ssh/google_compute_engine 恢复私钥
【发布时间】:2021-05-08 09:27:16
【问题描述】:

我在 GC 上使用 VM_instance 时卡住了。我获准加入一个现有项目并设法创建了一个 VM 实例(我们称之为myInstance)。

GCP 已自动为我创建user_first 作为myInstance => user_first@myInstance 的用户。事实是,由于某些原因,在重新启动后,我无法再通过 ssh 加入此实例。

在论坛上检查了一些之后,我设置了Gcloud compute config-ssh...看起来VM已经创建了一个新用户user_first_gmail_com... => user_first_gmail_com@myInstance

这里的问题是如何找回初始用户user_first

否则我怎么能得到user_first 的密码,这样我就可以按原样sudo 而不是user_first_gmail_com

感谢您的宝贵帮助:-)

【问题讨论】:

    标签: google-cloud-platform ssh google-compute-engine gcloud


    【解决方案1】:

    要通过此命令删除对 SSH 配置文件的更改,请运行:

    gcloud compute config-ssh --remove
    

    有关更多信息,请参阅此文档[1]。

    [1]https://cloud.google.com/sdk/gcloud/reference/compute/config-ssh

    如果您仍然面临同样的问题(或)我可能误解了您的问题,请告诉我?我会尽力提供更好的解决方案来解决您的问题。

    【讨论】:

    • 谢谢维沙尔
    • 它实际上并没有解决我们的问题,因为我可能在调试 ssh 问题时手动删除了 ~/.ssh 中的密钥......你是否偶然知道是否有办法检索密码前一个实例“user_instance”,因为它可以解决我的问题。实际上我是一个新的“user_instance_gmail_com”的sudoer,因此我可以用前者更改用户,但没有密码就不能再安装东西了......
    • 如果您丢失了您的私钥意味着您可以使用以下命令重新生成:gcloud compute ssh [instance_name]
    • 嗨,Vishal,很抱歉稍后再回来......它也没有工作。底线是如何获取 GCP 默认创建的“用户”的密码?例如,如果我们被授予 root 权限,则能够以该“用户”的身份使用 sudo。
    • 请提供您收到的一些错误消息,我可以尽力帮助您。
    【解决方案2】:

    总而言之,真正的问题在于如何在创建 VM 实例并 ssh 之后获取 GCP 默认设置/创建的用户的密码。 有时,出于无数原因,我们假设我们需要此“用户”的密码...

    【讨论】:

      【解决方案3】:

      默认情况下,GCP 的虚拟机使用 SSH 密钥而不是密码来验证用户身份。所以本质上 - 用户获得了一个 SSH 密钥并且无法使用密码登录。因此 - 你无法恢复它。

      最快和最成熟的方法是使用startup script,它实际上会向该虚拟机添加用户和密码:

      echo "username:password" | chpasswd
      

      More on adding users here.

      然后enable serial console interaction 并使用给定的凭据登录。

      之后进入用户的主目录; /home/usershomedir/.ssh/ and you will find all the keys in authirized_keys` 文件。

      这将允许您读取密钥并可能以常规方式访问实例。

      但是您收到Permission denied (publickey). ERROR: 的原因有很多。 检查主磁盘是否未满。如果是这样,系统功能就无法正常工作(例如登录用户)。

      我正在粘贴另一个类似问题的 my own reply

      如果您有OS login enabled,您可以通过granting appropriate roles in the IAM 控制对您的VM 的访问。向启用了操作系统的虚拟机授予 SSH 访问权限的最方便和集中的方法是创建一个专用服务帐户和grant it SSH access

      可以试试update your SSH keys:gcloud compute os-login ssh-keys update

      如果您禁用了操作系统登录(默认设置,除非您的组织强制启用它),那么您可以尝试使用update your SSH keysgcloud compute config-ssh

      如果还是无法连接,可以查看通用SSH troubleshhoting documentation

      one more 可能会提示您如何访问您的虚拟机。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-30
        • 1970-01-01
        • 2022-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-06
        • 1970-01-01
        相关资源
        最近更新 更多