Bird
Raised Fist0
Azurecloud~5 mins

SSH and RDP access in Azure - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: SSH and RDP access
O(n)
Understanding Time Complexity

When connecting to virtual machines using SSH or RDP, it's important to understand how the number of connections affects the system.

We want to know how the time to establish access grows as more machines or users are involved.

Scenario Under Consideration

Analyze the time complexity of opening SSH or RDP sessions to multiple Azure VMs.


// Pseudocode for opening SSH or RDP sessions
for (int i = 0; i < vmCount; i++) {
    ConnectToVM(vmList[i]);
}

void ConnectToVM(string vm) {
    // Establish network connection
    // Authenticate user
    // Open session
}
    

This sequence opens a remote access session to each VM one by one.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Establishing a remote connection (SSH or RDP) to a VM.
  • How many times: Once per VM, repeated for each VM in the list.
How Execution Grows With Input

Each additional VM requires a new connection, so the total time grows as you add more VMs.

Input Size (n)Approx. API Calls/Operations
1010 connections
100100 connections
10001000 connections

Pattern observation: The number of connection operations grows directly with the number of VMs.

Final Time Complexity

Time Complexity: O(n)

This means the time to establish access grows linearly with the number of VMs you connect to.

Common Mistake

[X] Wrong: "Opening multiple SSH or RDP sessions happens all at once and takes the same time as one session."

[OK] Correct: Each connection requires its own setup time, so more sessions mean more total time.

Interview Connect

Understanding how connection time scales helps you design systems that handle many users or machines efficiently.

Self-Check

"What if connections were opened in parallel instead of one after another? How would the time complexity change?"

Practice

(1/5)
1. Which port does SSH use to connect securely to a Linux virtual machine in Azure?
easy
A. Port 3389
B. Port 22
C. Port 80
D. Port 443

Solution

  1. Step 1: Identify SSH default port

    SSH (Secure Shell) uses port 22 by default to connect securely to Linux machines.
  2. Step 2: Compare with other ports

    Port 3389 is used by RDP, port 80 is for HTTP, and port 443 is for HTTPS, so they are incorrect for SSH.
  3. Final Answer:

    Port 22 -> Option B
  4. Quick Check:

    SSH = Port 22 [OK]
Hint: SSH always uses port 22 for Linux access [OK]
Common Mistakes:
  • Confusing SSH port with RDP port
  • Using HTTP or HTTPS ports for SSH
  • Assuming SSH uses a random port
2. Which of the following is the correct syntax to open port 3389 for RDP access in an Azure Network Security Group (NSG)?
easy
A. Allow inbound TCP on port 3389
B. Allow inbound TCP on port 22
C. Allow outbound UDP on port 3389
D. Allow inbound UDP on port 22

Solution

  1. Step 1: Identify RDP port and protocol

    RDP uses TCP protocol on port 3389 for Windows remote desktop connections.
  2. Step 2: Match correct NSG rule syntax

    Allowing inbound TCP on port 3389 opens RDP access. Other options use wrong ports or protocols.
  3. Final Answer:

    Allow inbound TCP on port 3389 -> Option A
  4. Quick Check:

    RDP = TCP 3389 inbound [OK]
Hint: RDP always needs inbound TCP on port 3389 [OK]
Common Mistakes:
  • Using UDP instead of TCP
  • Opening wrong port 22 for RDP
  • Setting outbound instead of inbound rules
3. Given this Azure CLI command to open SSH access, what will it do?
az network nsg rule create --resource-group MyResourceGroup --nsg-name MyNSG --name AllowSSH --protocol Tcp --direction Inbound --priority 1000 --source-address-prefixes '*' --source-port-ranges '*' --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow
medium
A. Allows inbound TCP traffic on port 22 from any source
B. Blocks inbound TCP traffic on port 22 from any source
C. Allows outbound TCP traffic on port 22 to any destination
D. Allows inbound UDP traffic on port 22 from any source

Solution

  1. Step 1: Analyze command parameters

    The command creates an NSG rule named AllowSSH allowing inbound TCP traffic on port 22 from any source to any destination.
  2. Step 2: Confirm traffic direction and protocol

    Direction is inbound, protocol is TCP, port is 22, and access is Allow, so it opens SSH access.
  3. Final Answer:

    Allows inbound TCP traffic on port 22 from any source -> Option A
  4. Quick Check:

    Inbound TCP 22 allowed = SSH access [OK]
Hint: Inbound TCP 22 with Allow opens SSH [OK]
Common Mistakes:
  • Confusing inbound with outbound
  • Using UDP instead of TCP
  • Misreading port number
4. You tried to connect to a Windows VM via RDP but the connection timed out. Which of these is the most likely cause based on NSG rules?
medium
A. NSG allows inbound TCP on port 3389
B. NSG allows inbound UDP on port 22
C. NSG blocks inbound TCP on port 3389
D. NSG allows outbound TCP on port 3389

Solution

  1. Step 1: Understand RDP connection requirements

    RDP requires inbound TCP access on port 3389 to allow remote desktop connections.
  2. Step 2: Identify blocking rule

    If NSG blocks inbound TCP on port 3389, the connection will time out because traffic is denied.
  3. Final Answer:

    NSG blocks inbound TCP on port 3389 -> Option C
  4. Quick Check:

    Blocked inbound TCP 3389 causes timeout [OK]
Hint: Blocked inbound TCP 3389 causes RDP timeout [OK]
Common Mistakes:
  • Confusing inbound with outbound rules
  • Using wrong port for RDP
  • Assuming UDP is needed for RDP
5. You want to secure SSH access to your Linux VM in Azure so only your office IP (203.0.113.5) can connect. Which NSG rule configuration is best?
hard
A. Allow inbound TCP on port 22 from source 0.0.0.0/0
B. Allow inbound TCP on port 3389 from source 203.0.113.5/32
C. Allow inbound UDP on port 22 from source 203.0.113.5/32
D. Allow inbound TCP on port 22 from source 203.0.113.5/32

Solution

  1. Step 1: Identify SSH port and protocol

    SSH uses TCP on port 22, so the rule must allow TCP on port 22.
  2. Step 2: Restrict source IP to office IP

    To secure access, restrict source to the office IP with /32 mask for a single IP.
  3. Step 3: Exclude incorrect options

    Allow inbound TCP on port 22 from source 0.0.0.0/0 allows all IPs (not secure), Allow inbound UDP on port 22 from source 203.0.113.5/32 uses UDP (wrong protocol), Allow inbound TCP on port 3389 from source 203.0.113.5/32 uses RDP port (wrong service).
  4. Final Answer:

    Allow inbound TCP on port 22 from source 203.0.113.5/32 -> Option D
  5. Quick Check:

    Restrict SSH TCP 22 to office IP [OK]
Hint: Restrict SSH port 22 TCP to your IP only [OK]
Common Mistakes:
  • Allowing all IPs instead of specific IP
  • Using UDP instead of TCP
  • Opening wrong port for SSH
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard