如何更改 Oracle 云实例的公钥?

Nic*_*nou 4 oracle-cloud-infrastructure

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

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

谢谢

Nic*_*nou 7

一些背景

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

概括

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

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

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

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

基本上从那里开始,

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

通过 SSH 登录到计算机,然后通过点击三个点(下图)并查看连接命令来运行连接命令,以连接驱动器。 通过 Oracle Cloud Panel 安装驱动器

编辑驱动器上的文件和安装过程

然后通过运行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] 从面板运行驱动器的断开连接命令。

然后,只需将驱动器从其他计算机上卸下,然后将其重新连接回原始计算机即可。等待其完全连接,然后再次启动机器。