Oracle Cloud Always Free VPS — Complete Step-by-Step Tutorial

Beginner to Advanced | Updated: November 2, 2026 | Verified against official Oracle Cloud Infrastructure documentation

This guide walks you through logging in to Oracle Cloud, configuring networking, creating a free Linux virtual machine, connecting through SSH, and verifying that your server is working.

It also covers the three problems you encountered earlier: ARM capacity errors, AMD image incompatibility, and public IPv4 assignment.

1. What we are going to build

Architecture of a basic publicly accessible Oracle Cloud Linux VPS.

Available Always Free compute options

ResourceAMD MicroARM Ampere A1
ShapeVM.Standard.E2.1.MicroVM.Standard.A1.Flex
Architecturex86_64ARM64
CPU1/8 OCPU, burstable2 OCPUs total
RAM1 GB per VM12 GB total
Free allowanceUp to 2 VMsUp to 2 VMs sharing allowance
Use caseSSH, Linux labs, lightweight websitesDocker, APIs, multiple small applications

Oracle currently documents 1,500 free A1 OCPU-hours and 9,000 GB-hours monthly, equivalent to 2 OCPUs and 12 GB of memory for Always Free tenancies. It also provides 200 GB of combined Always Free boot/block storage. Oracle Documentation

For your account: Start with AMD E2 Micro because your A1 creation previously failed due to unavailable capacity. You can attempt ARM again whenever capacity becomes available.

2. Log in to Oracle Cloud

Cloud Infrastructure | Oracle

Oracle Cloud Infrastructure Console

Official Oracle account login and infrastructure management portalOpen Oracle Cloud Console

Step 1 — Open the login portal

  1. Open Chrome, Edge, Safari, or Firefox.
  2. Visit https://cloud.oracle.com.
  3. Select Sign In, if prompted.
  4. Enter your Cloud Account or Tenancy name, then continue.

Your tenancy name identifies the Oracle Cloud account. It is not necessarily the same as your username or compartment name.

Step 2 — Authenticate

  1. Select the appropriate identity domain, commonly Default for newer accounts, if Oracle prompts you.
  2. Enter your registered username or email address.
  3. Enter your password.
  4. Complete multifactor authentication if enabled.
  5. Wait for the OCI Console dashboard to appear.

If this is your first sign-in, use the activation link from your Oracle welcome email and complete password setup and verification. Oracle Documentation+1

Step 3 — Verify the region

Find the region selector near the top of the OCI Console.

Your earlier error referenced ap-mumbai-1, which corresponds to India West (Mumbai).

Check that this is also the home region of your tenancy. Oracle Always Free compute must be provisioned in the tenancy’s home region, not just any region that you subscribe to. Oracle Documentation

Step 4 — Navigate to Compute

From the OCI Console:

Navigation menu (☰) → Compute → Instances

You will see the list of virtual machines in the selected compartment.

If you have an existing instance, inspect it before creating another one. Otherwise, continue with the networking setup below.

3. Create the Virtual Cloud Network (VCN)

A VCN is your private network inside Oracle Cloud. Your VM needs a subnet, routing, an Internet Gateway and security rules to communicate with the Internet.

Since you already created vcn-free-vps with a public subnet, you can skip creating another VCN. The following steps are for anyone starting from a new account.

Step 5 — Open the VCN Wizard

  1. Go to Networking → Virtual Cloud Networks.
  2. Select your compartment.
  3. Click Start VCN Wizard.
  4. Choose Create VCN with Internet Connectivity.
  5. Click Start VCN Wizard again.

Example VCN configuration

SettingExample
VCN namevcn-free-vps
CompartmentYour root compartment
IPv4 CIDR10.0.0.0/16
Public subnet CIDR10.0.0.0/24
Private subnet CIDR10.0.1.0/24
DNSEnabled

Click Next → Create → View VCN.

The VCN Wizard automatically creates public and private subnets, route tables, basic security lists, and the necessary network gateways. Oracle Documentation

Step 6 — Verify the networking

Open the VCN and check:

ComponentExpected value
VCNAvailable
Public subnetAvailable
Internet GatewayCreated and enabled
Public subnet route0.0.0.0/0 → Internet Gateway
Default security listIncludes SSH ingress rule

A public IP alone is insufficient without the correct Internet Gateway, routing and security configuration. Oracle Documentation

4. Create your Always Free AMD virtual machine

Step 7 — Open the instance-creation wizard

Navigate to:

Compute → Instances → Create Instance

Oracle’s current workflow contains five main stages:

Create compute instance

5 stages

1

Basic

2

Security

3

Networking

4

Storage

5

Review

Step 8 — Configure Basic Information

Enter the following:

SettingSelect
Nameoracle-amd-free-vps
Create in compartmentrajesh61 (root)
Availability domainAD-1
Capacity typeOn-demand
Fault domainLet Oracle choose

For your Mumbai region, Oracle lists one availability domain, so AD-2 and AD-3 are not available alternatives. Oracle Documentation

Step 9 — Select the correct OS image

This step is important because your previous AMD attempt failed with:

Shape VM.Standard.E2.1.Micro is not valid for image...

You were switching from an ARM VM configuration to an AMD VM configuration.

Go to Image → Change Image and select a compatible image.

Recommended OS image selection

SettingSelect
Image sourcePlatform Images
Operating systemOracle Linux
Preferred versionOracle Linux 9
Architecturex86_64
Image buildCompatible build shown in Console
LicensingAlways Free Eligible

If the Oracle Linux 9 build is not compatible with E2 Micro, try Oracle Linux 8 x86_64 or another Always Free-eligible x86_64 image, such as a supported Ubuntu version.

Never reuse an image marked aarch64 when creating an AMD instance. Oracle documents cross-architecture image mismatches as a cause of this error. Oracle Documentation

Step 10 — Choose the AMD shape

Click Change Shape, then:

  1. Select Virtual Machine.
  2. Open Shape series.
  3. Choose Specialty and previous generation.
  4. Select VM.Standard.E2.1.Micro.
  5. Confirm Always Free Eligible.
  6. Click Select Shape.

EXPECTED SHAPE SUMMARY

VM.Standard.E2.1.Micro

1/8

OCPU

1 GB

RAM

50 GB

Boot disk (default)

In the latest Oracle Console, E2 Micro is grouped under Specialty and previous generation, not necessarily the main AMD shape category. Oracle Documentation

If the shape is disabled, revisit Change Image and choose an image explicitly compatible with E2 Micro.

Step 11 — Configure Security

For your initial Linux VPS, leave the default security options unless you have a specific requirement.

SettingRecommendation
Confidential computingDisabled
Secure BootDefault
Measured BootDefault
Trusted Platform ModuleDefault
Compute Instance MonitoringEnabled
Run CommandEnabled if available

Do not enable premium services without first checking their billing terms.

5. Configure networking and SSH

Step 12 — Select your existing public network

Open the Networking stage.

Choose Select existing virtual cloud network and enter:

SettingYour value
Virtual cloud networkvcn-free-vps
Subnetpublic
DNS recordYes
Network security groupsNo, use security lists initially
Automatically assign public IPv4Yes
Private IPv4Automatically assigned

These are the same settings you successfully configured earlier.

Oracle’s public IPv4 assignment option is only available for a public subnet. Oracle Documentation

Step 13 — Generate your SSH key pair

This is essential. Without the matching private key, you may be unable to log in to your Linux VM.

Under Add SSH Keys:

  1. Choose Generate a key pair for me.
  2. Click Save Private Key.
  3. Optionally click Save Public Key.
  4. Store both files securely.
  5. Confirm the key configuration appears in the instance review.

Understand your SSH keys

Private key — stays on your computer.

Never share it or upload it to a public repository.

Public key — installed on the VM.

The matching private key is used to authenticate your SSH connection.

Oracle cannot provide you with the generated private key again after the VM is created, so keep a secure backup. Oracle Documentation

6. Configure storage and create the VM

Step 14 — Configure the boot volume

Open Storage.

SettingRecommended
Custom boot volumeDisabled
Default boot volume50 GB
PerformanceDefault/Balanced
In-transit encryptionEnabled
Additional block volumeNone
Encryption keyOracle-managed default

The default 50 GB boot volume counts against the 200 GB Always Free storage allowance. Oracle Documentation

Step 15 — Review the configuration

Your final review should look similar to this:

Oracle AMD Free VPS

Target: $0/month

PropertyValue
ShapeVM.Standard.E2.1.Micro
Operating systemCompatible x86_64 Linux image
Availability domainAD-1
CapacityOn-demand
Storage50 GB
VCNvcn-free-vps
Subnetpublic
Public IPv4Yes
SSH keysConfigured

Click View Estimated Cost before creation.

You previously saw a boot-volume estimate of $2.76/month. An estimated price does not necessarily reflect applied Always Free allowances. However, you should verify that your storage and all other resources remain within the eligible limits rather than treating every estimate as automatically free.

Step 16 — Click Create

Once the settings are correct, click Create.

The instance should move through the following states:

Provisioning

Running

If Oracle returns a capacity error, refer to the troubleshooting section below. Capacity is not guaranteed, even for eligible free-tier shapes.

7. Log in to your Oracle VM using SSH

Step 17 — Find the public IP address

Navigate to:

Compute → Instances → oracle-amd-free-vps

Open the instance details page and find Instance access → Public access IP address.

Copy that IP address.

Step 18 — Connect from macOS

Open Terminal on your Mac.

First secure the private key you downloaded:

chmod 400 ~/Downloads/your-private-key.key

Connect to Oracle Linux:

ssh -i ~/Downloads/your-private-key.key opc@YOUR_PUBLIC_IP

Replace your-private-key.key with the actual filename and YOUR_PUBLIC_IP with the address from the OCI Console.

For Ubuntu images, use the username ubuntu instead of opc.

The official Oracle documentation confirms these default Linux usernames and SSH connection requirements. Oracle Documentation

Step 19 — Connect from Windows

Open Windows PowerShell:

ssh -i "C:\Users\YourUser\Downloads\your-private-key.key" opc@YOUR_PUBLIC_IP

Use the matching private key and ensure its file permissions restrict access to your Windows user.

When SSH asks you to verify the host key, confirm that the fingerprint corresponds to the intended VM before accepting it.

Step 20 — Verify that you are inside the VM

Run:

whoami
hostname
cat /etc/os-release
uname -m
free -h
df -h /
ip -br address

For an AMD VM, uname -m should show:

x86_64

For an ARM VM, it should show:

aarch64

These commands confirm your username, operating system, architecture, memory, storage and networking.

8. Update Linux and test a website

Step 21 — Update the operating system

For Oracle Linux 8 or 9:

sudo dnf update -y

For Ubuntu:

sudo apt update
sudo apt upgrade -y

Reboot if required by updates, then reconnect using SSH.

Step 22 — Install NGINX (Oracle Linux example)

NGINX lets you verify that your VPS can serve a simple website.

sudo dnf install -y nginx
sudo systemctl enable --now nginx
sudo systemctl status nginx

Verify locally:

curl -I http://127.0.0.1

A successful response generally includes HTTP/1.1 200 OK.

Step 23 — Allow HTTP in OCI

Your VCN’s security rules and your Linux firewall both matter.

Open:

Networking → Virtual Cloud Networks → vcn-free-vps → Security Lists

Find the security list associated with your public subnet. Add these ingress rules as needed.

ProtocolSourceDestination port
TCPYour public IP /3222 (SSH)
TCP0.0.0.0/080 (HTTP)
TCP0.0.0.0/0443 (HTTPS, when configured)

For a public website, HTTP and HTTPS must be reachable. SSH should ideally be restricted to your own IP. Oracle Documentation

On Oracle Linux, check whether firewalld is running:

sudo firewall-cmd --state

If it reports running, enable HTTP:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Oracle’s Linux NGINX documentation covers configuring the host firewall for web access. Oracle Documentation

Step 24 — Test your public website

Open this URL in your browser:

http://YOUR_PUBLIC_IP

You should see the NGINX welcome page.

For a real website, configure DNS and TLS/HTTPS before publishing sensitive or authenticated applications.

9. Troubleshooting — errors you encountered

These are the most relevant fixes for your Oracle Free Tier setup.

Error 1 — Out of capacity for VM.Standard.A1.Flex

Oracle currently has no available A1 capacity for the selected availability domain. Your Mumbai region has one AD, so switching to AD-2 or AD-3 is not possible there. Try fewer A1 resources, use E2 Micro if available, or retry A1 later. None guarantees capacity. Oracle Documentation+1

Error 2 — Shape E2.1.Micro is not valid for image

Change to a compatible x86_64 image. Do not keep the earlier ARM64 image OCID when switching to AMD. Check the compatible-shapes list in the Console. Oracle Documentation

Error 3 — Public IPv4 assignment disabled

Select a public subnet in a VCN with Internet connectivity. A private subnet cannot be assigned a public IPv4 address. Oracle Documentation

Error 4 — SSH permission denied (publickey)

Check that the correct private key and username are being used. Oracle Linux uses opc; Ubuntu uses ubuntu.

Error 5 — SSH connection timed out

Verify the VM is Running, public IP exists, port 22 is allowed, the subnet routes to an Internet Gateway, and your local network permits SSH. Oracle Documentation

SSH diagnostic commands

On macOS:

nc -vz -G 5 YOUR_PUBLIC_IP 22

If the port responds but SSH authentication fails, investigate your private key and username.

For additional SSH logging:

ssh -v -i ~/Downloads/your-private-key.key opc@YOUR_PUBLIC_IP

10. Protect your Always Free account from unexpected billing

Oracle’s Always Free allowance applies only to eligible resources within documented limits. On a paid or trial account, additional or ineligible usage can create charges.

Step 25 — Create a budget alert

Navigate to:

Billing & Cost Management → Budgets → Create Budget

Choose your root compartment or a dedicated workload compartment.

SettingSuggested value
Budget nameoracle-free-tier-alert
ScopeYour workload compartment
ScheduleMonthly
Budget amount$1, or equivalent currency
Threshold metricActual Spend
Threshold100%
EmailYour billing notification email

Important: Oracle budgets are soft limits. They notify you of spending; they do not automatically stop or prevent charges. Oracle Documentation+1

Step 26 — Monitor storage usage

Review both attached and unattached boot/block volumes. Terminating an instance through the Console can preserve its boot volume by default, so old volumes may continue consuming free storage allowance.

When deleting a test VM you no longer need, carefully review the Permanently delete the attached boot volume option. Only delete storage when its data is no longer needed. Oracle Documentation

Step 27 — Keep your VPS secure

  • Enable MFA for your Oracle Cloud login.
  • Never share the SSH private key.
  • Restrict SSH ingress to trusted IP addresses.
  • Install operating-system security updates regularly.
  • Keep database ports closed to the public Internet.
  • Set up backups for anything important.
  • Monitor disk, memory and application health.

Oracle also notes that idle Always Free instances may be reclaimed under its published utilization criteria. Avoid treating these VMs as guaranteed production hosting. Oracle Documentation

11. Final hands-on validation checklist

Use this checklist after completing the tutorial.

VM deployment progress0 of 13 checks complete

0%

Oracle Cloud account login successfulCorrect home region selectedVCN and public subnet availableInternet Gateway and default route verifiedAlways Free-eligible x86_64 image selectedVM.Standard.E2.1.Micro shape selectedSSH private key saved securelyPublic IPv4 address assignedInstance state is RunningSSH login successfulOS architecture and disk verifiedWeb server accessible on public IPv4Billing alert configured

12. Official Oracle documentation

These are the primary resources used to verify the procedure:

Creating an Oracle Compute Instance

Always Free Resource Limits

Virtual Networking Wizards

Connecting to a Linux Instance

Troubleshooting SSH Connections

Recommended configuration for your next attempt

Because you already created vcn-free-vps and its public subnet, do not recreate the network. Return to Compute → Instances → Create Instance, select AMD E2 Micro with a compatible x86_64 Linux image, attach an SSH key, and reuse your existing networking.

Your immediate goal is to get one AMD VM into the Running state and successfully log in using SSH. Once that works, you will have a functioning Oracle Cloud Linux VPS and can proceed to install applications.

Related Posts

AWS CodeCommit – Complete Step-by-Step Tutorial

Beginner to Advanced | macOS, Linux, Git, SSH, IAM, CodeBuild This master tutorial covers the complete AWS CodeCommit workflow, from creating your first repository to managing source…

Read More

AWS Developer Services: Console Lab Guide

title AWS Developer Services: Gold-Standard Console Lab Guide subtitle CodeCommit • CodeArtifact • CodeBuild • CodeDeploy • CodePipeline author Instructor Edition | Browser-Only Labs date 10 November…

Read More

Microsoft Sentinel Intermediate: One Complete End-to-End Hands-On Lab – Part – 3

Module 2: Intermediate | Day 3 only | Complete instructor-and-learner manual Edition: 1 November 2026Course: Microsoft Sentinel Technical Training — 5-day progressive curriculumThis document: Day 3 only; prerequisite: successful completion of Foundations…

Read More

Microsoft Sentinel Advance: One Complete End-to-End Hands-On Lab – Part – 4

Module 3: Advanced | Day 4 only | Detection Engineering, Threat Hunting and SOAR Curriculum version: 1 November 2026Course: Five-day progressive Microsoft Sentinel technical trainingThis manual: Day 4 only — syllabus competencies A01–A14Prerequisite: Demonstrated…

Read More

Microsoft Sentinel Advance: One Complete End-to-End Hands-On Lab – Part – 5

Module 3: Advanced | Day 5 only | Enterprise Architecture, Data Lake, DevSecOps and SOC Governance Edition: 1 November 2026Training path: Day 5 of the five-day progressive Microsoft Sentinel programThis manual: Day…

Read More

Microsoft Sentinel Foundations: One Complete End-to-End Hands-On Lab – Part – 1

Student workbook + instructor validation and answer key | Days 1-2 | 2026-11-01 edition One lab, one continuous story: Build a Microsoft Sentinel environment, connect Azure Activity logs,…

Read More