There are lots of wrong and right articles in internet, when you try to execute Hands-on Labs by yourself, there is chance that you could get drifted away or get severely confused, We strictly adhere to Official Oracle Cloud Documentation, offering you reliable and precise information without personal interpretations. This means you can trust our content 100% Genuine.
Prerequisites
Before you create a VCN and Subnets, ensure you have the following:
- An active OCI account.
- Necessary IAM policies to create and manage networking components.
- A clear plan of your network topology and CIDR blocks to avoid overlapping IP addresses.
Lab Task:
Create a Linux public instance using keypair generated with ssh-keygen commands in windows PowerShell.
Lab Task Explanation:
Before we begin the Lab we need to create the SSH keypair using Commands in windows PowerShell.
At the time of Instance creation, you will be presented with option to upload or paste the public key, use any of this option to create a New Instance.
Lab Task Flow:
- In your Winodws PC Search for windows PowerShell and open it.
- Open PowerShell: Press Win + X and select “Windows PowerShell” or “Windows PowerShell (Admin)” from the menu.
- UNIX-based systems (including Linux and OS X), Windows 10, and Windows Server 2019 should have OpenSSH installed in them.
- Check whether your PowerShell has SSH Support.
- In your Windows pc create a seperate folder for storing keys.
- Get into the Folder and try to copy the Folder pathe with current folder name.
- Open windows PowerShell and get into the same path.
- When you got into the folder and execute the "SSH-Commands", then the Keypair created will be stored inside the same folder you are in.
- Keypair generation command is
- -t ➜ means which algorithm is selected.
- rsa ➜ means RSA algorithm, RSA is an old algorithm based on the difficulty of factoring large numbers. All SSH clients support this algorithm.
- -b ➜ means keysize. A key size of at least 2048 bits is recommended for RSA; 4096 bits is better.
- -f ➜ means [filename] with Path. don't use brackets "[]" while entering the real command.
- Check once again are you inside the Correct directory.
- Generate a new keypair using the following command:
- When prompted, enter a file name for the keypair and a passphrase(optional), press enter in your keyboard to generate the keypairs.
- The keygeneration process will look like this
- Check the created keys
- you can check the keys using "ls" command
- you can go to the windows folder and can see key file.
- within the PowerShell, get into the folder where both public and private keys are present ,
- In previous Lab if you remeber we used Linux "cat" command to open the public key file (.pub).
- PowerShell has its own set of commands, thus Alternate Command for "cat" command in PowerShell is "Get-Content" and copy its code.
- Subnet A is Public subnet.
- Subnet A should have CIDR ip of 10.0.1.0/29.
- Instance should have a private ip of 10.0.1.5.
- Instance should be a Linux machine.
- Sign in to the OCI console.
- Open the navigation menu and click Compute > Instances.
- Click Create Instance.
- In the Create Compute Instance dialog box, provide the necessary information for your instance.
- In the Add SSH Keys section, select Paste SSH keys and paste the public key code which we copied previously.
- Click Create to create your instance.
- Invalid SSH Keys: Make sure your SSH keys are in the correct format.
- Permission Errors: Ensure you have the necessary permissions to create instances and generate keypairs.
- You provide the public key when you create an instance.
- And you keep the private key on a safe place.
- When you connect to the instance using SSH, you provide the path to the private key in the SSH command.
- The public key will be compared with private key for authentication.
- Thus by using both keys you can create and get connected to your instance and do your administrative tasks.
- The Secure Shell (SSH) protocol is a method for securely sending commands to a computer or a server over an unsecured network.
- The SSH network protocol encrypts all traffic between the client and the server while it is in transit.
- SSH utilizes public key cryptography, which involves the use of public and private keys to authenticate and establish a secure connection.
- Thus anyone who requires managing a computer remotely namely, System and network administrators use this protocol to manage remote servers and machines, they can connect to a server and run commands as if they were sitting at the machine.
- Download keypair from pre-given OCI Web Console.
- Generated keypair with ssh-keygen commands.
- using OCI "cloudshell" terminal.
- using windows "powershell".
- using windows "cmd" command prompt
- using "Gitbash" (old windows ver)
- using Open SSH tools (wsl2)
- Generated keypair using GUI - PuTTY Key generator.
Task 1: Prepare a clear sample Architectural Diagram
Our OCI Architectural diagram for this Lab is

Note : If you want to create such Cloud Architectural diagrams check this link Click here :
Task 2: Create VCN and public subnet with CIDR in refer to the above sample Architectural Diagram
To proceed with this Lab, we need to have a VCN and Subnets first, we assume that you already have an compartment, else kindly create Architecture by following below Guided Hand-on Lab Link and finish this Task of Creating a VCN or Subnet.
Task 3: Create Key Pairs using key-generator Command in your windows PowerShell
Note : In case of any doubt - Jump to the Detailed vedio explantion given below
Step 1 : Access your windows PowerShell
Steps to check about the version of SSH installed with in Powershell
-
Check SSH Version: Type the following command and press Enter
ssh -V

Step 2 : Setting the Folder Ready

Step 3 : Understanding the Keypair generation Command
ssh-keygen -t rsa -b 2048 -f [filename]
Step 4 : KeyPair Generation
ssh-keygen -t rsa -b 2048 -f linuxkey



Step 5: Get the Public Key Ready

Task 4: Create Linux Public instance with the use of these keys
Step 1: Identify Sample Input
Step 2: Create a Linux Instance using keypair generated with ssh-keygen commands in windows PowerShell
When creating your instance and generating your keypair, remember to keep your private key secure. It’s also important to choose a strong passphrase (optional) for your keypair to ensure the security of your instance.

Some common errors you might encounter include
Detailed Video Explanation:
Required concept knowledge
Types of Keys?

There are two types of Keys in a Key pair - public key and private key
Use of SSH Keypair?
What is "SSH" in SSH keypair means?
Difference in Creating Linux Instance and Windows Instance

when is the Key pair generated
Linux / Unix instance | Windows instance |
---|---|
Linux instances use an SSH keypair instead of a password to authenticate a remote user. | Windows instances use username & password to authenticate a remote user. |
|
Usernames & passwords are provided by OCI at the time of instance creation. |
What is Windows PowerShell ?
Windows PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and an associated scripting language. Initially released in 2006, PowerShell is built on the .NET Framework and is designed to help IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows. It includes features such as robust command-line history, tab completion, and support for complex scripting and automation tasks. PowerShell can also be extended through functions, classes, scripts, and modules, making it a powerful tool for managing a wide range of systems and applications.
PowerShell has SSH preinsatlled ?
Starting with Windows 10 version 1809 and Windows Server 2019, PowerShell includes a built-in SSH client, allowing users to connect securely to remote devices over an unsecured network. This integration enables true multiplatform remoting, as SSH is available on both Linux and Windows platforms. To use SSH in PowerShell, you need to have PowerShell 6 or higher installed. The SSH client is enabled by default, and you can use it to manage remote servers or network devices directly from the PowerShell command line.
Reference
Stay tuned for more posts on managing your OCI resources effectively! Happy cloud computing!