Blog

  • How rDNS (Reverse DNS) works in Cloud

    Overview

    This Knowledge Base explains how rDNS (Reverse DNS) works on Cloud, how it is automatically created, and clarifies common doubts faced by customers and internal teams.

    Cloud follows a fully automated rDNS creation process. Customers do not need to manually add or manage rDNS entries after creating a Virtual Machine (VM).

    What is rDNS?

    Reverse DNS (rDNS) maps an IP address back to a hostname.

    • Forward DNS: hostname → IP address
    • Reverse DNS (rDNS): IP address → hostname

    rDNS is commonly used for:

    • Email server reputation and spam checks
    • Network identification
    • Compliance with hosting and email best practices

    How rDNS Works in Cloud

    1. Client creates a VM from the Cloud CMP.
    2. Client provides or updates the hostname for the VM in the CMP.
    3. Cloud backend rDNS automation runs every 1 hour.
    4. The automation reads VM IP and hostname details from the CMP.
    5. rDNS entry is automatically created in DNS.

    No manual action is required from the client or support team.

    rDNS Creation Schedule

    • rDNS is not created instantly.
    • The backend automation runs on an hourly interval.
    • rDNS entries are usually visible within 1 hour after VM creation or hostname update.

    If rDNS is checked immediately after VM creation, it may not appear yet. This is expected behavior.

    Backend Automation Details

    Cloud runs an automated rDNS creation in the backend.

    • Scans newly created or updated VMs
    • Fetches IP address and hostname from the CMP
    • Automatically adds or updates rDNS records in DNS

    Key Points

    • Automation runs hourly
    • Fully automated
    • Prevents manual errors
    • Ensures consistency across the platform

    Do Clients Need to Add rDNS Manually?

    Cloud automatically handles rDNS creation.

    Clients should NOT:

    • Raise requests for manual rDNS creation
    • Try to configure rDNS outside Cloud
    • Expect instant rDNS creation

    Clients SHOULD:

    • Ensure the correct hostname is set in the Cloud CMP
    • Wait up to 1 hour for rDNS propagation
  • Automating cPanel Installation on Cloud VMs with Customization Scripts

    Cloud provides a Customization Script option that lets you automatically configure a virtual machine during deployment. Instead of performing manual installation after the VM is created, you can execute a script that installs and configures the required software automatically.

    Cloud supports two types of customization scripts:

    • Shell Script (.sh)
    • Cloud-Init Script (YAML format using #cloud-config)

    This guide demonstrates how to use a Cloud-Init configuration to automatically install cPanel & WHM on a new virtual machine.

    Important: cPanel must be installed on a clean installation of AlmaLinux or CloudLinux. The server should have a minimum of 2 GB RAM and a valid cPanel license.

    Step 1: Verify the Requirements

    Before creating the VM, make sure the following requirements are met.

    • Deploy a supported operating system such as AlmaLinux or CloudLinux.
    • Allocate at least 2 GB RAM.
    • Allocate a minimum of 20 GB storage.
    • Assign a public IP address to the VM.
    • Allow ports 2087 (WHM) and 2083 (cPanel) in the Security Group or Firewall.
    • (Optional but recommended) Point a domain or subdomain such as cpanel.example.com to the VM’s public IP for SSL.

    Step 2: Prepare the Cloud-Init Script

    Create the following Cloud-Init configuration and replace the hostname with your own domain.

    Bash
    #cloud-config
    hostname: cpanel.example.com
    fqdn: cpanel.example.com
    packages:
    – perl
    – curl
    write_files:
    – path: /etc/resolv.conf
    content: |
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    runcmd:
    – curl -o latest -L https://securedownloads.cpanel.net/latest
    – sh latest
    

    Prepare the Cloud-Init Script

    Step 3: Understand What the Script Performs

    When the VM starts for the first time, the Cloud-Init script automatically performs the following tasks:

    • Sets the server hostname.
    • Configures the Fully Qualified Domain Name (FQDN).
    • Installs the required packages (Perl and Curl).
    • Configures Google Public DNS servers.
    • Downloads the latest cPanel installer.
    • Starts the cPanel installation automatically.

    No manual commands are required after the VM boots.

    Step 4: Create a New Virtual Machine

    • Sign in to your Cloud Dashboard.
    • Click Create VM.
    • Select a supported operating system.
    • Choose the required CPU, RAM, storage, and network configuration.
    • Locate the Customization Script section.
    • Select Cloud-Init.
    • Paste the Cloud-Init script into the provided text box.
    • Review the configuration.
    • Click Launch VM.

    The VM will now be created with the customization script attached.

    Step 5: Automatic Installation Process

    After the virtual machine powers on:

    • Cloud-Init executes automatically.
    • The server installs the required packages.
    • DNS configuration is applied.
    • The latest cPanel installation package is downloaded.
    • cPanel installation begins automatically.

    The installation usually completes within 20 to 40 minutes, depending on the server specifications and internet speed.

    Step 6: Access WHM

    After installation finishes, open your browser and visit:

    Bash
    https://<VM_Public_IP>:2087

    Access WHM

    Step 7: Log in to WHM

    Use the server’s root credentials.

    Login with:

    Username: root
    Password: your VM’s root password (set during creation)

    After authentication, the WHM interface will open.

    Step 8: Complete the Initial Configuration

    During the first login, WHM will launch its setup wizard.

    Complete the following tasks:

    • Accept the cPanel License Agreement.
    • Verify the server hostname.
    • Configure networking settings.
    • Configure nameservers.
    • Enter your contact email.
    • Activate your cPanel license (Trial or Paid).

    Once finished, the server is ready for hosting.

    Step 9: Begin Using cPanel

    After setup is complete, you can:

    • Create new cPanel hosting accounts.
    • Add websites and domains.
    • Configure email services.
    • Manage DNS zones.
    • Install SSL certificates.
    • Upload website files.
    • Manage databases.

    Troubleshooting Tips

    • If DNS resolution fails, verify that /etc/resolv.conf contains valid nameservers.
    • If cPanel fails to install, check logs at /var/log/cpanel-install.log.
    • Ensure the server has no existing control panel or conflicting services.

    Summary

    By using a cloud-init cloud-config script in the Cloud VM creation wizard, you can automatically:

    • Set system hostname
    • Configure DNS
    • Install cPanel with a single script

    This reduces manual work and ensures consistent deployments.

  • Supported Guest Operating Systems

    1. Overview

    This article lists the guest operating system templates currently available on the Cloud platform.

    Some legacy operating system templates are available for compatibility or migration purposes. However, operating systems that have reached End of Life (EOL) are not recommended for new production deployments because they may no longer receive security updates or patches from the vendor.

    For production environments, it is recommended to use actively supported operating systems such as Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, or Rocky Linux 9.

    2. Supported Linux Operating Systems

    DistributionVersionEnd of Life(EOL)
    Ubuntu24.04.x LTSApril 2036
    22.04.x LTSApril 2034
    20.04.x LTSApril 2032
    Rocky Linux10.xMay 2035
    9.xMay 2032
    8.xMay 2029
    AlmaLinux10.xMay 2035
    9.xMay 2032
    8.xMarch 2029
    Debian12.xJune 2028
    11.xAugust 2026
    CentOS7.xJune 2024

    Notes

    • CentOS 7.x reached End of Life (EOL) in June 2024. It may remain available for compatibility or migration purposes but is not recommended for new deployments.
    • Debian 11.x is approaching End of Life (EOL) in August 2026. For long-term production workloads, use Debian 12.x or another actively supported Linux distribution.

    3. Supported Windows Operating Systems

    DistributionEnd of Life(EOL)
    Windows Server 2025 (Available in both regions now)October 2034
    Windows Server 2022October 2031
    Windows Server 2019January 2024

    Notes

    • Windows Server 2019 reached End of Life (EOL) in January 2024. It no longer receives vendor security updates or patches. It may remain available for compatibility or migration purposes but is not recommended for new deployments.

    4. Important Considerations

    Architecture Support

    Cloud guest operating system templates are currently supported on AMD-based x86_64 virtual machine infrastructure.

    GPU Workloads

    GPU-enabled workloads are currently available only in the IN-WEST2 region.

    The NVIDIA driver installation guide for L4 GPU Virtual Machines currently supports the following operating systems:

    • Ubuntu 20.04 LTS
    • Ubuntu 22.04 LTS
    • Ubuntu 24.04 LTS

    GPU Driver Compatibility

    GPU driver installation and compatibility depend on the selected guest operating system version and workload requirements.

    Verify application and driver compatibility before deploying GPU workloads.

  • Virtual Machine Creation Error Troubleshooting

    1. Overview

    This guide explains how to identify and resolve common errors that may occur while creating a Virtual Machine (VM) on the Cloud platform.

    2. Common Virtual Machine Creation Errors

    2.1 No Available Public IPs

    Cause

    The selected region has no available public IP addresses.

    Resolution

    • Select a different region (for example, create the VM in West-3 instead of West-2).
    • If a public IP is not required, create the VM using only a private IP address.

    2.2 Insufficient Quota

    Cause

    The project has reached its allocated quota for resources such as CPU, RAM, storage volumes, or GPU.

    Resolution

    • Delete any unused Virtual Machines or storage volumes.
    • If additional resources are required, request a quota increase from Cloud Support.

    2.3 Network or Subnet Not Found

    Cause

    The selected network is incorrect, or the required network or subnet has been deleted.

    Resolution

    • Select the correct network and subnet during Virtual Machine creation.
    • If the required network or subnet does not exist, create a new private network and subnet.

    2.4 Volume Creation Failed

    Cause

    The storage backend encountered an error, or there is insufficient storage capacity.

    Resolution

    • Try creating the Virtual Machine again.
    • Verify that the storage quota has not been exceeded.
    • Create the volume manually and attach it to the Virtual Machine.

    3. When to Contact Support

    Contact Cloud Support if:

    • The same error occurs in multiple regions.
    • No public IP addresses are available in the selected region.
    • There are issues related to images or flavors.

    Provide the following information when contacting support:

    • Screenshot of the error message.
    • Region name.
    • Virtual Machine flavor.
    • Operating system image.
    • Time when the error occurred.
  • Understanding Snap and Its Installation on Linux

    1. Overview

    Snap is a universal package management system for Linux that packages applications together with all required dependencies. This allows software to run consistently across different Linux distributions.

    This guide explains what Snap is, its main features, how to install it on different Linux distributions, and how to use it.

    2. What Is Snap?

    Snap is a Linux packaging system that bundles applications with their required dependencies.

    This helps ensure that applications run reliably on different Linux distributions without requiring additional packages.

    3. Features of Snap

    Snap provides the following features:

    • Includes all required dependencies within the package.
    • Supports automatic background updates.
    • Works across multiple Linux distributions.
    • Uses security confinement (sandboxing) to help isolate applications.

    4. Why Use Snap?

    Snap simplifies software installation and management by providing:

    • Compatibility across multiple Linux distributions.
    • Automatic updates.
    • Application isolation through sandboxing.
    • Access to newer software versions than those available in traditional package repositories.

    Examples:

    Install Visual Studio Code:

    Bash
    sudo snap install code –classic

    Install Spotify:

    Bash
    sudo snap install spotify

    Install Docker:

    Bash
    sudo snap install docker

    5. Snap Components

    Snap consists of the following components:

    • Snap Packages – Self-contained applications that include their dependencies.
    • snapd – The background service that manages Snap packages.
    • Channels – Release channels such as stable, candidate, beta, and edge, allowing you to choose between stable releases and newer features.

    6. Install Snap

    Ubuntu

    Snap is usually installed by default.

    Verify the installation:

    Bash
    snap version

    If Snap is not installed:

    Bash
    sudo apt update
    sudo apt install snapd

    Debian

    Bash
    sudo apt update
    sudo apt install snapd
    sudo systemctl enable –now snapd.socket

    Fedora

    Bash
    sudo dnf install snapd
    sudo ln -s /var/lib/snapd/snap /snap

    CentOS / RHEL

    Bash
    sudo yum install epel-release
    sudo yum install snapd
    sudo systemctl enable –now snapd.socket
    sudo ln -s /var/lib/snapd/snap /snap

    Arch Linux

    Bash
    sudo pacman -S snapd
    sudo systemctl enable –now snapd.socket
    sudo ln -s /var/lib/snapd/snap /snap

    7. Common Snap Commands

    Search for a Package

    Bash
    snap find <package-name>

    Install a Package

    Bash
    sudo snap install <package-name>

    Remove a Package

    Bash
    sudo snap remove <package-name>

    List Installed Packages

    Bash
    snap list

    Update Installed Packages

    Bash
    sudo snap refresh

    Example

    Bash
    Install VLC:
    sudo snap install vlc

    Display installed Snap packages:

    Bash
    snap list

    8. Troubleshooting

    Snap Service Is Not Running

    Start and enable the Snap service:

    Bash
    sudo systemctl enable –now snapd.socket

    Snap Command Not Found

    Verify that snapd is installed and that the system PATH is configured correctly.

    Permission Issues

    If required, run Snap commands with sudo.

    9. Conclusion

    Snap provides a simple way to install and manage software on Linux by packaging applications together with their dependencies.

    It supports multiple Linux distributions, provides automatic updates, and helps avoid dependency conflicts while keeping software up to date.

  • Troubleshooting Load Balancer Health Check Failures

    1. Overview

    This guide explains how to identify and resolve health check failures when using a Cloud Load Balancer.

    2. Operating System Checks

    2.1 Verify That the Application or Service Is Running

    Linux

    Check the service status:

    Bash
    systemctl status <service-name>

    Restart the service if required:

    Bash
    systemctl restart <service-name>

    Verify that the application is listening on the required port:

    Bash
    ss -tulnp | grep <port>

    Windows

    Open Services (services.msc) and verify that the required service is running.

    Check the listening port:

    Command Prompt
    netstat -ano | findstr <port>

    Find the process using the PID:

    Command Prompt
    tasklist /FI “PID eq <pid>”

    2.2 Test the Health Check Endpoint Locally

    Linux

    Bash
    curl -I http://localhost:<port>/<health-path>

    or

    Bash
    curl http://127.0.0.1:<port>/<health-path>

    Windows (PowerShell)

    PowerShell
    Invoke-WebRequest -Uri http://localhost:<port>/<health-path> -UseBasicParsing

    Note: For HTTP or HTTPS health checks, the endpoint should return an HTTP status code between 200 and 299.

    2.3 Check the Operating System Firewall

    Linux

    For systems using firewalld:

    Bash
    sudo firewall-cmd –list-all

    For Ubuntu using UFW:

    Bash
    sudo ufw status

    For systems using iptables:

    Bash
    sudo iptables -L -n

    Windows

    Command Prompt
    Get-NetFirewallRule | Where-Object { $_.Direction -eq ‘Inbound’ -and $_.Enabled -eq ‘True’ } | Format-Table DisplayName,Profile,Action

    2.4 Verify That the Application Is Listening on the Private Interface

    If the application is listening only on 127.0.0.1, the Load Balancer cannot reach it.

    The application should listen on 0.0.0.0 or the VM’s private IP address.

    Linux

    Bash
    ss -tulnp | grep <port>

    or

    Bash
    netstat -tulnp | grep <port>

    2.5 Test Connectivity from Another Internal Virtual Machine

    Test the backend service from another VM on the same network.

    Bash
    curl http://<backend-private-IP>:<port>/<health-path>

    or

    Bash
    telnet <backend-private-IP> <port>

    or

    Bash
    nc -vz <backend-private-IP> <port>

    Note: If direct connectivity fails, resolve the backend application, firewall, or operating system issue before troubleshooting the Load Balancer.

    2.6 Check Application Logs

    Linux

    View the service logs:

    Bash
    journalctl -u <service-name> -n 200

    View system logs:

    Bash
    tail -n 200 /var/log/messages

    View web server logs:

    Bash
    tail -n 200 /var/log/nginx/error.log

    or

    Bash
    tail -n 200 /var/log/httpd/error_log

    Windows

    • Open Event Viewer and review the Application and System logs.
    • For IIS, review the logs located at:
    C:\inetpub\logs\LogFiles

    2.7 Check System Resources

    Linux

    Bash
    top
    free -m
    df -h

    Windows

    Use Task Manager to check:

    • CPU usage
    • Memory usage
    • Disk usage

    3. Load Balancer Checks

    3.1 Verify the Health Check Configuration

    Confirm that the health check settings match the backend application.

    Verify the following:

    • Protocol: TCP, HTTP, or HTTPS
    • Port: Matches the backend service port
    • Health Check Path (HTTP/HTTPS): Returns an HTTP status code between 200 and 299

    Recommended settings:

    SettingRecommended Value

    Interval10 seconds
    Timeout5 seconds
    Healthy Threshold3
    Unhealthy Threshold3

    3.2 Verify Backend Pool Configuration

    Confirm the following:

    • The correct backend Virtual Machine is added to the backend pool.
    • The correct private IP address is selected, especially if the VM has multiple network interfaces.
    • The backend service port is configured correctly.

    3.3 Verify Firewall and Security Rules

    Ensure that the backend firewall or security rules allow inbound traffic from the Load Balancer’s private IP range on the configured health check port.

    If the Load Balancer cannot reach the backend because of firewall restrictions, the health checks will fail.

  • Resolving the “No Bootable Device” Error During Windows 11 Installation from an ISO

    1. Overview

    This guide explains how to resolve the “No Bootable Device” error that may occur when installing Windows 11 from an uploaded ISO file.

    The issue is caused by missing virtual TPM (vTPM) support, which is required for Windows 11 installation.

    2. Issue

    When creating a new Virtual Machine (VM) and installing Windows 11 using an uploaded ISO, the VM may fail to boot and display the following message:

    Booting from Hard Disk…
    Boot failed: not a bootable disk
    No bootable device.

    3. Cause

    This issue occurs because the Virtual Machine is not configured with vTPM (Virtual Trusted Platform Module).

    Windows 11 requires hardware features such as:

    • TPM 2.0
    • Secure Boot support

    If vTPM is not enabled, the installation may fail or the ISO may not be recognized as a bootable device.

    4. Solution

    Follow these steps to create and deploy the Windows 11 Virtual Machine.

    Step 1: Select the Region

    Log in to the Cloud dashboard and select the region where you want to deploy the Virtual Machine.

    Step 2: Open the Advance Panel

    Navigate to:
    Advance Panel → Create Virtual Machine

    Step 3: Configure the Virtual Machine

    Configure the following settings:

    • Deploy From: Image
    • Image: Select the uploaded Windows 11 ISO
    • Volumes:
      • Boot Volume
      • CD/DVD Volume
    • Flavor: Select the required CPU and RAM configuration.
    • Network Interfaces: Assign the required network.

    Step 4: Configure the Boot Settings

    Enable the following options:

    • UEFI Boot (automatically selected)
    • vTPM (Virtual Trusted Platform Module)

    Secure Boot is optional and may remain disabled if it is not required.

    Step 5: Deploy the Virtual Machine

    Click Deploy.

    The Virtual Machine will boot from the Windows 11 installation media and display the Windows setup screen.

    Deploy

    5. What Is vTPM?

    vTPM (Virtual Trusted Platform Module) is a virtual implementation of the TPM 2.0 hardware module.

    It provides cryptographic security functions for Virtual Machines and allows Windows 11 to detect the required TPM functionality during installation.

    6. Why vTPM Must Be Enabled

    Windows 11 requires TPM 2.0 for installation and secure operation.

    If vTPM is not enabled:

    • The Virtual Machine may not recognize the Windows ISO as a bootable device.
    • The installation may fail with errors such as:
      • No bootable device
      • This PC can’t run Windows 11
  • Network Troubleshooting Using MTR

    1. Overview

    MTR (My Traceroute) is a network diagnostic tool that combines the functionality of ping and traceroute.

    Unlike ping or traceroute, which provide a single snapshot of the network, MTR continuously monitors the network path and displays real-time information about latency and packet loss.

    This guide explains what MTR is, how it works, how to interpret the results, and how to use it on different operating systems.

    2. What Is MTR?

    MTR (My Traceroute) is a network troubleshooting tool that:

    • Combines the features of ping and traceroute.
    • Displays real-time latency and packet loss statistics.
    • Continuously monitors the route between your system and the destination host.

    MTR is commonly used by system administrators, network engineers, and support teams to identify network connectivity issues.

    3. Why Use MTR?

    MTR helps you:

    • Identify where packet loss occurs.
    • Detect network latency at different hops.
    • Determine whether the issue is:
      • Within the local network.
      • With the Internet Service Provider (ISP).
      • Within a transit provider’s network.
      • At the destination server.
    • Collect information for troubleshooting and support cases.

    4. How MTR Works

    MTR combines two network tools:

    • Traceroute, which identifies the path packets take to the destination.
    • Ping, which continuously sends packets to each hop and measures latency and packet loss.

    Unlike traceroute, MTR continuously updates the results, allowing you to monitor network conditions in real time.

    5. Understanding MTR Output

    Running the following command:

    Bash
    mtr <hostname>

    produces output similar to:

    MTR

    ColumnDescription
    HostThe router or network hop.
    Loss%

    Percentage of packets lost at the hop.
    SntNumber of packets sent.

    LastLatest round-trip time (milliseconds).

    AvgAverage latency.

    BestLowest latency recorded.

    WrstHighest latency recorded.

    StDevVariation in latency.

    Interpreting the Results

    • High packet loss at the first hop usually indicates a local network issue.
    • Packet loss beginning at one hop and continuing through later hops may indicate an issue with the network provider.
    • Packet loss shown on one intermediate hop, while later hops show no loss, usually indicates ICMP rate limiting and is generally not a network problem.
    • Latency that increases and remains high across subsequent hops may indicate network congestion.

    6. Using MTR

    Linux

    Install MTR

    Ubuntu / Debian

    Bash
    sudo apt update
    sudo apt install mtr

    CentOS / RHEL

    Bash
    sudo yum install mtr

    Run MTR

    Bash
    mtr google.com

    Generate a report using 100 packets:

    Bash
    mtr -r -c 100 google.com

    macOS

    Install MTR using Homebrew:

    Bash
    brew install mtr

    Run MTR:

    Bash
    sudo mtr google.com

    Windows

    Use WinMTR, the graphical version of MTR.

    1. Download WinMTR.
    2. Run WinMTR.exe.
    3. Enter the destination hostname (for example, google.com).
    4. Start the test.

    7. Common Use Cases

    MTR can be used for:

    • Troubleshooting slow website connections.
    • Identifying packet loss caused by an ISP.
    • Monitoring connectivity between data centers.
    • Collecting network information for support cases.

    8. Best Practices

    • Use at least 100 packets (-c 100) for more accurate results.
    • Test the connection in both directions whenever possible.
    • Do not assume packet loss on an intermediate hop is a problem unless it continues to later hops.
    • Use MTR together with other network tools such as ping, iperf, and netstat for a complete analysis.

    9. Conclusion

    MTR is a real-time network diagnostic tool that combines the features of ping and traceroute.
    By continuously monitoring latency and packet loss, MTR helps identify network issues more accurately and provides useful information for troubleshooting and escalation.

  • Managing Cloud Using API (West 2 Region)

    1. Overview

    This guide explains how to authenticate with the Cloud API in the West 2 region using an Application Credential ID and Secret Key.

    After successful authentication, you will receive an authentication token that can be used for subsequent API requests.

    2. Required Credentials

    Before you begin, ensure you have the following credentials provided by the administrator:

    • Application Credential ID (Sample: f963abac76886493#########)
    • Project ID (Sample: 831f026XXXXXXXXX83de1ce1e923)
    • Application Credential Secret (Sample: my_super_secret_pass)

    Note: You can refer to the appropriate article to generate these credentials.

    3. Prerequisites

    Ensure the following tools are installed on your system:

    • curl
    • jq

    4. Install Required Tools

    Install curl

    CentOS / RHEL / AlmaLinux / Rocky Linux

    Bash
    sudo yum install curl -y

    Ubuntu / Debian

    Bash
    sudo apt update
    sudo apt install curl -y

    Install jq

    Ubuntu / Debian

    Bash
    sudo apt update
    sudo apt install -y jq

    CentOS / RHEL / AlmaLinux

    Bash
    sudo yum install -y jq

    Verify the Installation

    Verify that both utilities are installed successfully.

    Bash
    jq –version
    curl –version

    5. Verify API Availability

    Before authenticating, confirm that the API endpoint is reachable.
    Run:

    Bash
    curl -kv https://in-west2.controlcloud.app:5000/

    If the API is available, the command returns the response headers indicating that the Keystone authentication service is reachable.

    6. Authenticate with the API

    Send a POST request to obtain an authentication token.

    
    curl -ksD – -o /dev/null \
    -H “Content-Type: application/json” \
    -d ‘{
    “auth”: {
    “identity”: {
    “methods”: [
    “application_credential”
    ],
    “application_credential”: {
    “id”: “d638abac76884533#########”,
    “secret”: “my_super_secret_pass”
    }
    }
    }
    }’ https://in-west2.controlcloud.app:5000/v3/auth/tokens
    

    Replace the sample ID and Secret with the credentials provided to you.

    7. Expected Response

    If authentication is successful, the API returns:

    • HTTP 201 Created
    • An authentication token in the response headers.

    If authentication fails, the API returns:

    • HTTP 401 Unauthorized

    8. Troubleshooting

    Authentication Failed (401 Unauthorized)

    If you receive a 401 Unauthorized response, verify the following:

    • Confirm that the Application Credential ID and Secret are correct.
    • Verify that you are using the correct authentication URL.
    • Check that the API endpoint is reachable by running:
    Bash
    curl -kv https://in-west2.controlcloud.app:5000/
    • Ensure that the credentials have permission to access the API.

    9. View Authenticated Session Details

    To retrieve information about the authenticated session, run:

    Bash
    curl -X GET “https://in-west2.controlcloud.app:5000/v3/auth/tokens” \
    -H “X-Auth-Token: <AUTH_TOKEN>” \
    -H “X-Subject-Token: <AUTH_TOKEN>” \
    -H “Content-Type: application/json” | jq

    Replace <AUTH_TOKEN> with the authentication token returned during the authentication request.

    Response Details

    The command returns information such as:

    • Authenticated user details.
    • Assigned roles.
    • Accessible projects.
    • Available service endpoints.

    10. Conclusion

    After successful authentication, an authentication token is returned.

    Use this token in the X-Auth-Token header when making additional API requests, and store it securely for future use.

  • Managing VM Password in Cloud: Complete Step-by-Step Guide

    Steps to Change or Reset a VM Password

    Step 1: Sign in to the Cloud Portal

    Access the Cloud Dashboard using your registered account credentials.

    Step 2: Select Your Virtual Machine

    Go to the Virtual Machines section and locate the VM for which you want to update the password.

    Step 3: Open the Action Menu

    Click the Action drop-down menu available next to the selected VM.

    Step 4: Choose “Set Password”

    Step 5: Enter a Secure Password

    Type the new password that you want to assign to the VM.

    Enter a Secure Password

    Step 6: Save the Changes

    Click the Set button to apply the new password.

    Once the process is completed successfully, use the updated credentials to log in to your virtual machine.

    Strong Password Guidelines:

    To ensure security, use the following best practices when creating a password:

    Minimum Length: At least 12–16 characters.

    Combination of Characters: Include uppercase and lowercase letters, numbers, and special symbols (@, #, $, etc.).

    Avoid Common Words: Do not use easily guessable words like ‘password123’ or your name.

    No Reuse: Avoid reusing old passwords.

    By following these steps and best practices, you can ensure the security of your VM and prevent unauthorised access.

    Verify Login After Resetting the Password

    After changing the password, verify that the new credentials are functioning correctly before closing any active sessions.

    For Linux Virtual Machines

    Open a new terminal window and connect to the server using SSH.

    Bash
    ssh username@<VM_IP>

    Confirm that you can log in successfully using the new password.

    Only close your existing SSH session after confirming that the new login works properly.

    For Windows Virtual Machines

    Launch Remote Desktop Connection (RDP).
    Enter the VM’s IP address.
    Provide the username.
    Enter the newly created password.
    Verify that the remote desktop session opens successfully.

    Account Lockout Situations

    A VM account may become locked if the operating system detects repeated unsuccessful login attempts.

    Common Reasons for Account Lockout

    Account lockout can occur due to the following reasons:

    • Entering the wrong password multiple times while connecting through SSH or RDP.
    • Applications or automation scripts continuing to use an outdated password after it has been changed.
    • Security policies within the operating system detecting possible brute-force login attempts.

    Recovering from an Account Lockout

    Recommended Method: Reset the Password Through Cloud

    Follow these steps:

    Step 1

    Log in to the Cloud Dashboard.

    Step 2

    Open the VM list and select the affected virtual machine.

    Step 3

    Click Action and choose Set Password.

    Step 4

    Enter a new secure password.

    Step 5

    Click Set to save the password.

    Step 6

    Wait approximately 1–2 minutes for the update to take effect.

    Step 7

    Try logging into the VM again using the newly configured password.

    Password Expiration Policy

    The password aging policy is managed by Linux itself.

    To check the current password expiration settings, run:

    Bash
    chage -l username

    To disable password expiration for a user account:

    Bash
    sudo chage -M -1 username

    If the password has already expired, Linux will request that you create a new password during the next SSH login.

    Windows Virtual Machines

    Windows may enforce password expiration via Local Group Policy or Active Directory settings.

    If your session is blocked due to an expired password, use the Cloud Dashboard to reset the VM password using the ‘Set Password’ option (Steps 1–6 above), then log in and update the OS-level policy as needed.