Info
For brevity, when multiple menu items need to be clicked, the pipe symbol (|) indicates the sequence in which to click buttons/links.
3. We’re going to use the default Oracle Linux image, but if you want to change this, you can go to Image and shape and click on Edit.

Figure 8.5 – OCI Console Compute Image and shape
Note
There’s no cost as long as you stick to all Always Free-eligible resources; however, at the time of writing, there is a bug that falsely shows a $2.00 per month charge for the boot volume. This is a bug as the boot volume uses block storage and OCI gives you up to 200 GB of block storage for free.
At the time of writing, the latest version is Oracle Linux 8 (image build: 2023.06.30-0).
4. Under Add SSH Keys, select Generate a key pair for me and then click on Save Private Key and Save Public Key.
Tip
Choose a place that is easy for you to remember, as you’ll need this later when you seek to SSH into your VM.
5. Finally, click on Create.
Note
Feel free to grab a coffee while waiting for the image to build.
Now, let’s use SSH to connect to the instance:
- On the Instance information tab, click on Copy next to the Public IP address entry.
- Open up a terminal application and use the ssh command to connect. We’ll use -i (where i stands for identify file) to reference the private key we saved in the previous steps. The default username for official Oracle Linux instances hosted in the OCI is opc, so we’ll instruct ssh to connect as opc. Finally, input the Public IP address you obtained in the previous step. Your command should look a bit like this:

Figure 8.6 – SSH into compute instance (failure)
- Uh oh! Did you notice the big warning, as well as that last message? We were denied access because of bad permissions. Let’s fix that using chmod to give only the owner permission to access the key file:

Figure 8.7 – SSH into compute instance (success)
Great! We’ve connected to the machine via SSH.
Now I do realize that this wasn’t all that difficult, but imagine if you had to do this a hundred times? Why not automate the process with Terraform?