甲骨文云 Permission denied (publickey) 问题

问题描述

在尝试连接甲骨文云主机实例时,当时使用的 SSH 密钥损坏或被丢失了,导致无法连接到云主机。

错误信息如下:

Permission denied (publickey).

解决方法

通过分离实例的引导卷,然后将其挂载到新的实例上,然后添加新的 SSH 密钥,最后将引导卷重新挂载到原来的实例上。

详细步骤

1.停止无法连接的实例

从控制台访问实例详细信息页面,然后点击停止按钮。 01

2.分离引导卷

在实例详细信息页面的下方,找到引导卷,找到相应的引导卷,点击三个点,选择分离引导卷。 02

3.挂载引导卷到可以访问的实例上

注意:这里的要挂载引导卷实例必须是可以访问(连接)的,后面会连接到这个实例上,来挂载引导卷。

在控制台上,找到可以访问的实例,找到附加的块存储卷,点击附加块存储卷,选择刚才分离的引导卷,点击附加。

03

04

4.使用 iSCSI 命令将引导卷挂载到运行的实例上

使用 SSH 连接到可以访问的实例上,然后使用 iSCSI 命令将引导卷挂载到运行的实例上。

iSCSI 命令可以在附加的块存储卷页面,找到刚才挂载的引导卷,点击三个点,就可以看到 iSCSI 命令。

展开 Linux 选项卡,复制 Linux iSCSI 连接命令,然后在已经连接的实例上执行。

08

5.修改 authorized_keys 文件

sudo su -  # 切换到 root 用户

fdisk -l   # 查看磁盘分区

mount /dev/sdb1 /mnt  # 挂载引导卷

sudo vi /home/opc/.ssh/authorized_keys      # 修改用户 opc 的 authorized_keys 文件
# 添加新 SSH 密钥后,保存退出

sudo vi /home/ubuntu/.ssh/authorized_keys   # 修改用户 ubuntu 的 authorized_keys 文件
# 添加新 SSH 密钥后,保存退出

umount /mnt  # 卸载引导卷

注意:sdb1 是引导卷的分区,可以使用 fdisk -l 命令查看,根据实际情况修改。

6.使用 iSCSI 命令将引导卷卸载并分离引导卷

复制 Linux iSCSI 断开命令,然后在已经连接的实例上执行。

08

使用 fdisk -l 命令查看引导卷是否已经卸载,如果已经卸载,就可以分离引导卷了。

09

7.将引导卷挂载到原来的实例上

在控制台上,找到原来的实例,找到附加的块存储卷,点击附加块存储卷,选择刚才分离的引导卷,点击附加。

10

等待引导卷挂载完成,点击实例的启动按钮,启动实例,就可以使用新的 SSH 密钥登录实例了。

相关链接

Recovering opc user SSH Key on Oracle Cloud Infrastructure


最后修改于 2023-02-05


感谢您的支持 :D