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
| Resource | AMD Micro | ARM Ampere A1 |
|---|---|---|
| Shape | VM.Standard.E2.1.Micro | VM.Standard.A1.Flex |
| Architecture | x86_64 | ARM64 |
| CPU | 1/8 OCPU, burstable | 2 OCPUs total |
| RAM | 1 GB per VM | 12 GB total |
| Free allowance | Up to 2 VMs | Up to 2 VMs sharing allowance |
| Use case | SSH, Linux labs, lightweight websites | Docker, 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
Oracle Cloud Infrastructure Console
Official Oracle account login and infrastructure management portalOpen Oracle Cloud Console
Step 1 — Open the login portal
- Open Chrome, Edge, Safari, or Firefox.
- Visit
https://cloud.oracle.com. - Select Sign In, if prompted.
- 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
- Select the appropriate identity domain, commonly
Defaultfor newer accounts, if Oracle prompts you. - Enter your registered username or email address.
- Enter your password.
- Complete multifactor authentication if enabled.
- 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
- Go to Networking → Virtual Cloud Networks.
- Select your compartment.
- Click Start VCN Wizard.
- Choose Create VCN with Internet Connectivity.
- Click Start VCN Wizard again.
Example VCN configuration
| Setting | Example |
|---|---|
| VCN name | vcn-free-vps |
| Compartment | Your root compartment |
| IPv4 CIDR | 10.0.0.0/16 |
| Public subnet CIDR | 10.0.0.0/24 |
| Private subnet CIDR | 10.0.1.0/24 |
| DNS | Enabled |
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:
| Component | Expected value |
|---|---|
| VCN | Available |
| Public subnet | Available |
| Internet Gateway | Created and enabled |
| Public subnet route | 0.0.0.0/0 → Internet Gateway |
| Default security list | Includes 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:
| Setting | Select |
|---|---|
| Name | oracle-amd-free-vps |
| Create in compartment | rajesh61 (root) |
| Availability domain | AD-1 |
| Capacity type | On-demand |
| Fault domain | Let 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
| Setting | Select |
|---|---|
| Image source | Platform Images |
| Operating system | Oracle Linux |
| Preferred version | Oracle Linux 9 |
| Architecture | x86_64 |
| Image build | Compatible build shown in Console |
| Licensing | Always 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:
- Select Virtual Machine.
- Open Shape series.
- Choose Specialty and previous generation.
- Select
VM.Standard.E2.1.Micro. - Confirm Always Free Eligible.
- 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.
| Setting | Recommendation |
|---|---|
| Confidential computing | Disabled |
| Secure Boot | Default |
| Measured Boot | Default |
| Trusted Platform Module | Default |
| Compute Instance Monitoring | Enabled |
| Run Command | Enabled 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:
| Setting | Your value |
|---|---|
| Virtual cloud network | vcn-free-vps |
| Subnet | public |
| DNS record | Yes |
| Network security groups | No, use security lists initially |
| Automatically assign public IPv4 | Yes |
| Private IPv4 | Automatically 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:
- Choose Generate a key pair for me.
- Click Save Private Key.
- Optionally click Save Public Key.
- Store both files securely.
- 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.
| Setting | Recommended |
|---|---|
| Custom boot volume | Disabled |
| Default boot volume | 50 GB |
| Performance | Default/Balanced |
| In-transit encryption | Enabled |
| Additional block volume | None |
| Encryption key | Oracle-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
| Property | Value |
|---|---|
| Shape | VM.Standard.E2.1.Micro |
| Operating system | Compatible x86_64 Linux image |
| Availability domain | AD-1 |
| Capacity | On-demand |
| Storage | 50 GB |
| VCN | vcn-free-vps |
| Subnet | public |
| Public IPv4 | Yes |
| SSH keys | Configured |
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.
| Protocol | Source | Destination port |
|---|---|---|
| TCP | Your public IP /32 | 22 (SSH) |
| TCP | 0.0.0.0/0 | 80 (HTTP) |
| TCP | 0.0.0.0/0 | 443 (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.
| Setting | Suggested value |
|---|---|
| Budget name | oracle-free-tier-alert |
| Scope | Your workload compartment |
| Schedule | Monthly |
| Budget amount | $1, or equivalent currency |
| Threshold metric | Actual Spend |
| Threshold | 100% |
| Your 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
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.