在Oracle Cloud VPS上恢复opc用户SSH密钥

设想一种情况,您试图连接到Oracle Cloud VPS实例,但是要么忘记了使用哪个密钥,要么由于某种未知原因而导致opc用户SSH密钥被删除。乍一看可能令人恐惧,但是在Oracle Cloud VPS上恢复opc用户SSH密钥的过程比您想象的要容易。

因此,如果尝试通过SSH连接时收到“权限被拒绝(publickey,gssapi-keyex,gssapi-with-mic)”错误,请按照以下过程进行操作以恢复您的密钥。

您还可以使用Oracle Cloud VPS串行控制台维护模式引导选项作为恢复opc ssh密钥的替代方法。有关更多详细信息,请参见“从实例控制台连接实例对实例进行故障排除” 。

大致的步骤

1.停止无法登录的实例。

2.分离启动卷。

3.将启动卷附加到正在运行的Linux实例。

4.运行iSCSI命令以连接设备并使其对本地操作系统可见。

5.修复authorized_keys文件。

6.卸载设备并通过运行iSCSI命令分离它。

7.将启动卷附加到原始实例并启动它。

具体过程如下 

停止无法连接的实例。在Oracle Cloud 控制台中,转到实例的详细信息页面,然后单击Stop

分离启动卷。在“启动卷”部分中,单击“操作”图标,然后选择“分离”

转到另一个VM的详细信息页面,将启动卷附加到另一个Linux实例,单击附加块卷,然后选择在上一步中刚刚分离的启动卷。确保选择“读/写访问”。

引导卷附件完成后(BV图标为绿色),请在运行的VM中通过SSH连接并运行iSCSI命令,以使该新磁盘可用并在OS中可见。

复制iscsi里面的挂载命令,一共三行

您的引导卷应显示为 /dev/sdb

使 /dev/sdb3(这是您可以在其中恢复opc SSH密钥文件的根(/)分区)使用“ mount”命令可用于本地操作系统。确保使用-o nouuid选项。否则,您将看到“ mount:错误的fs类型,错误的选项,/ dev / sdb3上的错误超级块”错误消息。

$ sudo mount -o nouuid /dev/sdb3 /mnt

通过编辑/mnt/home/opc/.ssh/authorized_keys文件并添加SSH密钥公用文件来修复opc SSH密钥。

$ sudo vi /mnt/home/opc/.ssh/authorized_keys

添加或更改SSH公钥后,需要使用,保存并退出它。

运行umount / mnt

$ sudo umount /mnt

通过运行detach iSCSI命令来分离iSCSI引导卷。

同样是复制下面2条命令行

确保 /dev/sdb 磁盘不再可用,通过SSH连接查看/dev 里面,然后分离它。

将启动卷重新连接到您要恢复SSH密钥的实例,等待它开始运行(绿色图标)并启动它。

就是这样。您已恢复opc用户SSH密钥,现在可以重新登录到实例。您也可以使用此过程对根(/)分区进行故障排除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容