Idea to recover access to serve is to change RSA key
Generate your public key
Login to OCI and create OCI consle
Go to Instances/Server/Os Managment/Console Managment - click Create Local Connection
Past your RSA Key
Use menu on right "..." and select Copy Linux Connection - this will copy a command which you can use to estabilish connectioni with the server like
ssh -o ProxyCommand='ssh -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.us-sanjose-1.anzwuljr62zhyxacgiylaq6vyb7mw26wzrwnj3c5ft63fnzkxvjdvaz4jsma@instance-console.us-sanjose-1.oci.oraclecloud.com' ocid1.instance.oc1.us-sanjo-1.anzwuljr62zhyxxxxxxxxxxx
If you get error like
=================================================IMPORTANT: Use a console connection to troubleshoot a malfunctioning instance. For normal operations, you should connect to the instance using a Secure Shell (SSH) or Remote Desktop connection. For steps, see https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/accessinginstance.htmFor more information about troubleshooting your instance using a console connection, see the documentation: https://docs.cloud.oracle.com/en-us/iaas/Content/Compute/References/serialconsole.htm#four=================================================Unable to negotiate with UNKNOWN port 65535: no matching host key type found. Their offer: ssh-rsayou need to update commad
This is command which worked for me to get a console connection - you may little troubleshoot with AI for right command if ther is some missmatch in the version of the ssh (chatgtp give me this info after couple minutes of work)
ssh \-o HostKeyAlgorithms=+ssh-rsa \-o PubkeyAcceptedAlgorithms=+ssh-rsa \-o "ProxyCommand=ssh -p 443 \-o HostKeyAlgorithms=ecdsa-sha2-nistp256 \-W %h:%p \ocid1.instanceconsoleconnection.oc1.us-sanjose-1.anzwuljr62zhyxacgxxxxxxxxxxxxxxxxxxxxxxxx@instance-console.us-sanjose-1.oci.oraclecloud.com" \ocid1.instance.oc1.us-sanjose-1.anzwuljr62zhyxac4z3zyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
We will try to login to server when it boot, and get access to single user mode.
After you setup the connection to console - restart server
at startup press F12 to get list of kernels available. You need hit F12 in perfect moment, it took me several tries until I got this menu.
YOu may see this screen
Then select Continue
on next screen select kernel and press e
- Next, select the Kernel version from the grub menu item and press e key to edit the first boot option. Now use the Down arrow key to find the kernel line (starts with “linuxefi“), then at the end of the line add the argument
rw init=/sysroot/bin/sh
as shown in the screen shot below
press Ctlr + x
after login execute
chroot /sysroot/
now /home/opc folder is available and we can change ssh key
cd /home/opc/.ssh
now you can edit this file
vi authrized_keys
get your new public key and past to this file then reboot
At end of the file add empty line #end
once you done reboot server
reboot -f
Change passwrod for root, or opc account
passwd root
passwd opc
If you have some issies with server - check also selinux, check /var/log/messages and see if something is not correct. Sometimes SELINUX may block your access causing you a problem. Disable it, recover access to server and then enable it again