9

oracle(甲骨文云)丢失密钥解决办法

 1 year ago
source link: https://vps.la/2022/12/22/oracle%ef%bc%88%e7%94%b2%e9%aa%a8%e6%96%87%e4%ba%91%ef%bc%89%e4%b8%a2%e5%a4%b1%e5%af%86%e9%92%a5%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

oracle创建服务器的时候,默认使用密钥登录,如果丢失私钥,就没有办法再连接上去修改服务器。本文解决方法适合arm/x86。

如果是普通版你可以删除重建,当然资料也没了,如果是极为稀有的arm 24g内存版,你删除了就没资源了。  以我的arm服务器为例(系统是Oracle-Linux),方法是把这台丢失了私钥的arm服务器(简称A)的启动盘挂载到另外一台oracle服务器(简称B)上,连上这台B服务器,修改A的启动盘里的公钥(public key),以达到使用新密钥的结果。
具体操作步骤如下:
【以下A指代丢失私钥的服务器,B指代备用服务器,注意B服务器最好能够选择跟A服务器一样的系统(不论arm/x86),不然文件系统不一致可能最终卡在挂载上。甲骨文云可以免费一台ARM 两台AMD服务器,所以,新建一台服务器B吧。】

1、停止服务器A

▼注意是停止,不是终止。

oracle(甲骨文云)丢失密钥解决办法

2、解挂磁盘

▼在第一步打开的服务器面板页面往下拉,左侧看到启动盘选项,进入。

oracle(甲骨文云)丢失密钥解决办法

▼打开的boot volume选项,可以看到磁盘,点击磁盘列表右侧的三个点,再选择Detach boot volume

oracle(甲骨文云)丢失密钥解决办法

3、绑定服务器A的启动盘到B服务器

▼进入B服务器的面板,拉到下面,Attached block volumes 》》》 Attach block volume

oracle(甲骨文云)丢失密钥解决办法

▼然后你就能在这里找到刚刚解绑的启动盘。选择它。

oracle(甲骨文云)丢失密钥解决办法

▼后面两根选项保持这样

oracle(甲骨文云)丢失密钥解决办法

▼最后点击Attach就行了。

oracle(甲骨文云)丢失密钥解决办法

▼绑定成功会显示Attached

oracle(甲骨文云)丢失密钥解决办法

4、使用ssh连接到B服务器,挂载A服务器的启动盘。

(光绑定是无法使用的,还需要挂载。)
▼在第3步绑定成功后,点击此磁盘列表右边的三个点,选择iSCSI commands & information

oracle(甲骨文云)丢失密钥解决办法

而后会弹出连接命令。
▼总共有用于连接的三行命令以及用于断开的两行命令。保持这个页面打开,然后打开ssh连接到b服务器。

oracle(甲骨文云)丢失密钥解决办法

用ssh软件连接到B服务器后,依次执行上面的三行连接命令,就完成了分配。建议切换到root帐号执行,避免权限问题,下面默认使用sudo,避免有人忘记。
执行完上面三个连接命令之后,使用

sudo fdisk -l /dev/sdb

▼可以看到A启动盘的磁盘信息。

oracle(甲骨文云)丢失密钥解决办法

▼再使用下面命令挂载A启动盘到mnt目录。

  1. sudo mount -o nouuid /dev/sdb3 /mnt

5、修改公钥

首先使用puttygen或者其他ssh客户端生成一对新的密钥对,用写字板或者其他文本编辑器打开公钥(public key)

使用ssh客户端打开公钥文件(我的系统是Oracle-Linux,如果你是其他系统,目录不一样,具体看下面)

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

CentOS▼

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

ubuntu▼

sudo vi /mnt/home/ubuntu/.ssh/authorized_keys

编辑界面显示的就是它的公钥,拥有公钥没法转私钥,所以我们只能把这里的公钥修改为我们刚刚生成的。
按 o 进入编辑,删除里面的全部内容,然后复制前面生产的公钥内容(全部),右键就粘贴进去了。
按 esc 再输入:wq 这三个字符,回车,就修改保存完了。

oracle(甲骨文云)丢失密钥解决办法

6、恢复A启动盘的挂载

▼先卸载。

  1. sudo umount /mnt

断开与B服务器的连接
▼使用之前获得的iSCSI命令中的后面两个断开这个A磁盘。依然是在B服务器ssh中依次输入。

oracle(甲骨文云)丢失密钥解决办法

回到oracle的服务器控制面板,进入B服务器,像第2步一样,解绑A磁盘和B服务器的绑定。这一步不用重复了。
(因为A磁盘不是B服务器的启动盘,这一步不需要关闭B服务器)
▼将A磁盘绑回A服务器。进入A服务器的控制面板,滑到下面,在Boot volume列表中能看到解绑的A磁盘,点三点,再次绑定就行了。

oracle(甲骨文云)丢失密钥解决办法

绑定成功了启动A服务器。
然后就可以使用新生成的密钥队里的私钥,登录这台服务器了。

未经允许不得转载:VPS啦 » oracle(甲骨文云)丢失密钥解决办法


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK