Bobcares

Permanent SSH Access for ESXi Hosts: Configuration Guide

by | May 21, 2024

Learn how to permanently enable SSH on ESXi Hosts. Our VMware Support team is here to help you with your questions and concerns.

Permanent SSH Access for ESXi Hosts: Configuration Guide

Enabling SSH access on ESXi hosts can be handy, especially in a controlled environment where security concerns are more relaxed.

Permanent SSH Access for ESXi Hosts: Configuration Guide.

VMware advises against keeping SSH enabled on production servers due to potential security risks. However, it can be an acceptable risk for a controlled environment.

There are two ways to permanently enable SSH on your ESXi hosts.

  • Method 1: Using the VMware Web Interface
  • Method 2: Using PowerCLI

Method 1: Using the VMware Web Interface

  1. First, head to Host > Services > Enable Secure Shell (SSH) on the ESXi server.
  2. Then, log in to the ESXi server using an SSH client.
  3. Now, edit the file `/etc/rc.local.d/local.sh`and add this line:

    vim-cmd hostsvc/enable_ssh

  4. Click save and exit the editor.

Now, every time the ESXi host reboots, SSH will be automatically enabled. The script `/etc/rc.local.d/local.sh` runs at startup and ensures the SSH service is turned on.

Method 2: Using PowerCLI

If we prefer using PowerCLI, open the PowerCLI console and run the following command:

Get-VMHost | Foreach { Start-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } ) }

This command enables SSH, but only until the next reboot. To check the status, connect to the host using the vSphere client, head to `Configuration > Security Profile > Properties`, and verify the SSH startup policy is set to `Start and stop manually`.

To make SSH persist across reboots, additional steps are required since the above method does not modify the startup behavior.

Here’s a better solution using PowerCLI and Plink:

  1. Download `plink.exe` to the host where you run PowerCLI.
  2. Then, enable SSH on the ESXi host as mentioned earlier.
  3. Next, define a function to run remote commands via SSH:

    Function plink($plinkLoc, $esxHost, $esxUser, $esxPass, $remoteCommand) {
    $command = $plinkLoc + " -pw " + $esxPass + " " + $esxUser + "@" + $esxHost
    Invoke-Expression -Command "echo y | $command exit" | Out-Null
    $command += ' "' + $remoteCommand + '; sleep 1; exit"'
    $t = Invoke-Expression -Command $command
    Return $t
    }

  4. Then, run the function with the correct parameters to enable persistent SSH:

    plink 'C:\Users\Administrator\Downloads\plink.exe' 'esx01' 'root' 'password' `
    'vim-cmd hostsvc/enable_remote_tsm; /sbin/services.sh restart'

  5. Finally, confirm SSH is configured to start automatically by checking the vSphere client.

With these methods, we can make sure that SSH access remains enabled on the ESXi hosts even after reboots.

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

In brief, our Support Experts demonstrated how to permanently enable SSH on ESXi Hosts.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF