How To: SSH Command from a Windows Box to a VMware ESX Server


In deze how to laat ik zien hoe je vanaf een Windows machine een commando kunt uitvoeren op het service console van VMware ESX. Dit werkt echter ook op de verschillende linux distributies.

Lees hier wat je allemaal met plink kunt doen.

Als eerste moet de putty installer gedownload en geïnstalleerd worden.

  • Download de putty installer vanaf hier: putty-0.60-installer.exe
  • Installeer deze in de standaard directory C:\Program Files\Putty
  • De Path variable aanvullen met het path naar de putty directory. Zie deze post voor meer info.

Vervolgens kun je via het onderstaande commando vdf -h weergeven in een cmd box.

plink.exe -l root -pw password esxserver vdf -h

-l staat voor user in dit geval root.

-pw staat voor password in dit geval password.

esxserver is de esxserver die benaderd word.

Dit is echter geen veilige oplossing voor het gebruik binnen scripts omdat de username en password kaal in het script staat.

Om dit alles te beveiligen gaan we gebruik maken van Private Key authentication. Klik hier voor meer informatie.

Om dit alles voor elkaar te krijgen moet je op de ESX Servers een public key genereren en de sshd_config aanpassen. Vervolgens dien je de key over te halen naar de Windows machine om deze vervolgens te converteren naar een ppk file die weer binnen putty of plink te gebruiken is.

Dit kun je als volgt voor elkaar krijgen.

De benodigde stappen voor op de VMware ESX Server.

  • Log in op het Service Console van de ESX Server.
  • Genereer een public key bestand met het volgende commando ssh-keygen -b 2048 -t rsa Let op! maak bij het genereren van de key gebruik van een passphrase om alles zo veilig mogelijk te houden.
  • Pas het /etc/ssh/sshd_config bestand als volgt aan nano /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

  • Het id_rsa.pub bestand wat gegenereerd is in stap 2 kopieren naar het bestand authorized_keys.

cp id_rsa.pub /root/.ssh/authorized_keys

  • De sshd daemon opnieuw opstarten. Dit doe je met het commando /etc/init.d/sshd restart

De benodigde stappen voor op de Windows Server.

  • Kopier het id_rsa bestand naar een directory op de Windows Server. Dit kun je doen door middel van WinSCP of Veeam FastSCP te gebruiken.
  • Vervolgens open je de puttygen.exe.

Stel eerst het aantal bits in op 2048

sshrsa

Klik op Conversions en open het id_rsa bestand.

sshrsa1

Er wordt gevraagd naar de passphrase die je ingevoerd hebt in stap 2 van de ESX Server. Nadat je op Ok hebt geklikt verschijnt het onderstaande scherm

sshrsa2

Nu kun je de private key opslaan als bijvoorbeeld C:\esx1.ppk. Dit bestand hebben we in de volgende stap nodig.

  • Start vervolgens de pageant.exe. Nadat deze is gestart verschijnt het volgende icoon in de taskbar

sshrsa3

  • Klik vervolgens met rechts op het nieuwe icoon gevolgd door add keys

sshrsa4

  • Blader nu naar de opgeslagen *.ppk file en vul de passphrase in.
  • Klik vervolgens op met rechts op het pageant icoon in de taskbar gevolgd door View Keys

sshrsa5

Zoals je ziet is de key succesvol geïmporteerd. Doe dit ook voor al je andere ESX Servers.

  • Als laatste stap schrijf je het *.ppk bestand weg op een usb-stick of diskette en berg deze ergens goed op. Verwijder vervolgens het *.ppk bestand vanaf de C:\ schijf.

Een commando uitvoeren vanaf de Windows Server.

Nu kun je een een command prompt openen en met het volgende commando iets uitvoeren op de ESX Server

plink -agent root@esxserver commando

-agent kijkt in de pageant of er een public key geregistreerd staat. Is dit het geval dan kan er geautenticeerd worden.

-root@esxserver is de gebruiker root op de esxserver.

commando is het commando wat je wilt uitvoeren.

Als je nu vanuit de commandprompt het volgende commando uitvoert

plink -agent root@esxserver vdf -h

krijg je de onderstaande output

sshrsa6

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s