甲骨文的云控制台没有提供重装系统的功能,一旦密钥丢失或者忘记用户密码就很麻烦了,对于像我这种白嫖用户来说,终止实例又怕创建不了,只能想办法重置密码或者上传新的公钥,前几天就操作失误把密钥删了,导致连接不上,经过一番折腾总算是摸索出了解决方法,无需重装系统(也无法重装),不需要终止重新创建实例。
1、进入甲骨文云实例控制台
进入甲骨文云控制台,打开需要重置的实例,然后点击控制台连接
->启动 Cloud Shell 连接
。等到 Cloud Shell 启动完成后再点击重新引导
按钮,重启后一直按方向下↓
键,直到看到引导界面。
光标选中第一个,然后按e
编辑,找到linuxefi /boot/vmlinuz-********
位置,然后把ro
改成rw init=/bin/bash
。
修改完成后按ctrl+x
启动进入单用户模式。
2、重置密码
进入单用户模式后,执行passwd root
,然后输入新密码就可以了。
3、更新公钥
如果只想使用用户密码登录,不使用密钥的可以忽略这一步。
打开 Xshell,点击工具
->新建用户密钥生成向导
。然后一直点下一步就可以,最后到公钥注册
的位置复制好公钥或者点击保存为文件
。
如果是用的默认的opc
账号登录的,则打开并全部复制刚才生成的公钥内容,然后替换下面“公钥内容”
后,执行:
echo "公钥内容">>/home/opc/.ssh/authorized_keys
如果不是使用opc
账号,需要修改账户目录路径,root
账号的是/root/.ssh/authorized_keys
。然后Xshell里面点击用户身份验证
->Public Key
,然后点设置
,再选择刚才新生成的密钥就可以了。
4、重启
重置好密码/公钥后执行/usr/sbin/reboot -f
命令重启云服务器,重启后就可以正常登录了。