【问题标题】:How do you change the public key of a Oracle Cloud Instance?如何更改 Oracle 云实例的公钥?
【发布时间】:2022-11-02 00:32:36
【问题描述】:

我不小心删除了我的公钥和私钥,并且由于无法恢复密钥(并且在任何地方都没有备份)而不得不生成新的 SSH 密钥。如何更改我的 Oracle Cloud 实例的公共 SSH 密钥?

终止实例并重新制作它不是一种选择,我尝试在网上查找,但找不到太多。任何帮助,将不胜感激。

谢谢

【问题讨论】:

    标签: oracle-cloud-infrastructure


    【解决方案1】:

    一些背景

    找到了解决方案!就像人们知道的那样,网上有一些方法涉及通过 VNC 连接到机器,但对我个人而言,在错误的时间按下按钮时感觉非常试错,最终无法正常工作(VNC 没有'不为我显示恢复模式,选择它后只是一个空白屏幕)。

    概括

    本指南包括:创建另一台机器(无论如何都包括在免费层中),从机器上分离启动卷驱动器并将其连接到刚刚创建的机器上,进行编辑以更改密钥,然后连接驱动器备份。

    创建另一个 VPS(Oracle 拥有它们,包括 > 免费层)

    我在 Oracle 面板中删除了我的其他 VPS 之一(那是一台免费机器 - 因为我不需要它并且没有使用它)并重新创建它(我确保在继续之前删除旧的引导卷)。

    (此解决方案假设您使用的是 Ubuntu 20.04,但这可能也适用于其他操作系统)

    基本上从那里,

    1. 我关闭了要更改其 SSH 密钥的机器。
    2. 完全断电后,只需将引导卷从 VPS 中分离出来,并将其作为块卷附加到刚刚创建的机器上。

      通过 SSH 登录到机器,并通过点击三个点(下图)运行连接命令并查看连接命令,以连接驱动器。

      在驱动器和安装过程中编辑文件

      然后运行blkid(或sudo fdisk -l以获得更友好的视图) 您可以看到哪些驱动器可用于安装。因此,您只需创建一个文件夹并输入: sudo mount [drive path e.g. /dev/sdb] [folder path e.g. ./drive] 编辑 /home/ubuntu/.ssh/authorized_keys 中的文件,或者您的计算机已配置(默认情况下 Oracle 不允许 root,但如果您已编辑配置,则由您决定)。

      然后,只需转到相关路径即可卸载驱动器,umount [folder path e.g. ./drive] 从面板运行驱动器的断开连接命令。

      然后,只需将驱动器从您的另一台机器上拆下,然后将其重新连接到原始机器上。等待它完全连接,然后再次启动机器。

    【讨论】:

    • 救生员。第一个选项不起作用,我遇到了同样的问题,您可以创建一个超级基本的免费 Linux 机器,如 VM.Standard.E2.1.Micro 并从那里安装它。谢谢!
    • @J0R1AN 不用担心,很高兴它有帮助!当我使用 Oracle 存储我的数据库时发生了巨大的恐慌,这个解决方法幸运地解决了我所有的麻烦。很高兴它也适合你哈哈
    【解决方案2】:

    您可以创建一个控制台连接,连接到它,然后重新启动实例(通过 OCI 控制台),然后在控制台连接中访问 GRUB……再执行几个步骤,您就可以上传一个新的 ssh 密钥:https://docs.oracle.com/en-us/iaas/Content/Compute/References/serialconsole.htm

    【讨论】:

    • 试过了。我认为这是因为我在 Ubuntu Linux 上 GRUB 无法正常工作,而不是 Oracle Linux。我进入屏幕并选择 Ubuntu 的恢复版本,但随后我在屏幕上收到一条消息,显示“访客禁用显示”。并且屏幕在重新启动/ CRTL+ALT+DEL 之前不会改变(在某些情况下这不起作用)....还有其他建议吗?
    • 编辑:啊,我看到你已经想通了。您可以尝试这样的事情:克隆启动卷,将其附加并安装到另一个实例,编辑您需要的任何内容,分离,使用修改后的启动卷创建一个新实例
    猜你喜欢
    • 2021-08-06
    • 2010-09-29
    • 2012-08-23
    • 2019-02-10
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2021-06-30
    相关资源
    最近更新 更多