甲骨文云服务器的密码或密钥丢失了如何解决?

如果忘记了甲骨文云服务器的密码或丢失了密钥,在不破坏原系统的情况下,怎么恢复登录呢?当然,如果是因为系统本身出现了问题导致无法启动不能登陆的,在不删机重开的情况下,就只能是重新DD新的系统,对于 Oracle Linux 想要更换为其他系统的,可以参考:史上最强功能 Linux 一键DD重装系统脚本(更新于20240720),这篇文章中的方法也一样适用。

注意:本文提到的方法必须保证账户内有一台(现有或是新开)可以正常登录的服务器!

一、准备工作:生成密钥对

生成的方法有很多。这里我们就以Xshell为例。

打开Xshell,点击工具->新建用户密钥生成向导。然后一直点下一步就可以,最后到公钥注册的位置点击保存为文件,将公钥保存为keys.pub

二、控制台操作

1、首先进入失联的服务器详情页面,点击停止,弹出框内勾选上 Force stop the instance by immediately powering off,然后确定,等待停止成功。

2、下拉到下方列表[左下角],选择引导卷,点击引导卷列表右边那三点图标,选择分离,然后确定

3、进入现有(或是新开一台)可正常登录的服务器详情页面,下拉到下方列表[左下角],选择附加的块储存卷,点击附加块储存卷,在弹出页面的选择卷下的方框里选择刚刚分离出来的那个引导卷,挂载方式选择半虚拟化,访问方式选择读/写,然后确定

至此,控制台上的操作就暂时结束。下面我们通过SSH连接继续进行接下来的操作

三、SSH修复登录

1、SSH连接刚才挂载块存储的那台能够正常登录的服务器。将本文开始时生成的公钥上传至/root根目录。可以使用 Xftp ,也可以使用以下命令

# 安装 lrzsz 命令
apt install lrzsz -y # 输入 rz 命令进行上传 rz

此时会弹出对话框,选择公钥文件,点击确定。

2、使用lsblkfdisk -l命令,就可以看到刚附加的引导卷,一般是 /dev/sdb。再向下找到容量最大的分区,此处是 /dev/sdb1。 (具体盘符可能会有差异,请自行查看)

3、运行以下命令,挂载分区并进行秘钥修复

# 挂载分区:/dev/sdb1 必须修改为自己看到的实际分区
sudo mount /dev/sdb1 /mnt # 此处 keys.pub 为前面生成的公钥文件名,如果前面未改名的,在此要将 keys.pub 修改为你的公钥文件名 mv /root/keys.pub /root/authorized_keys # 覆盖 opc 及 root 用户登录秘钥 cp /root/authorized_keys /mnt/home/opc/.ssh/ cp /root/authorized_keys /mnt/root/.ssh/ # 开启秘钥登录权限 sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /mnt/etc/ssh/sshd_config # 取消分区挂载 sudo umount /mnt

确认以上操作无误后,我们就回到控制台继续操作。

四、控制台恢复引导卷挂载并开机

简单来说,就是将前面第二步中控制台上的操作,从后往回再操作一遍:在能正常登录的服务器详情页面,分离块存储的挂载在失联服务器页面,挂载引导卷将失联服务器开机

每一步确认完成之后,再进行下一步操作。

五、登录失联服务器

设置用户名为root,验证方式选择开始时生成的私钥(Xshell中会自动记录私钥,选择好就行),如果前面生成密钥对时没有输入密码,则 Xshell 私钥选项下的密码框留空即可。

至此,如果服务器IP没有问题,失联的服务器现在就已经可以正常登录了!

如果想使用密码登录,可以使用下面的命令设置新密码、或禁止秘钥登录。

# 设置服务器登录密码
passwd root # 禁止秘钥登录 (* 建议保留秘钥登录,并同时备份好你的密钥对。万一哪一天又忘记密码了,还可以使用秘钥登录) sed -i 's/PubkeyAuthentication yes/#PubkeyAuthentication yes/g' /mnt/etc/ssh/sshd_config

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】#限时限量回归#搬瓦工:THE PLAN限量版套餐,2核/2GB/40GB SSD/1000GB/1Gbps,$27/季,$99/年,19机房可选,CN2 GIA/AS9929/日本/香港等