Plugin vCenter sshAutoConnect

Update 2016/05/16: Grace à @jmauser une release Github a été créée avec support de vSphere 6.0 Update 2. Vous pouvez la télécharger ici.

Voilà notre premier plugin pour vCenter ! Cela faisait un petit moment que ça traînait dans la todolist, voilà maintenant une chose de moins :p

sshAutoConnect est donc un plugin pour vCenter ou plus exactement pour vSphere Client.

Dans votre console vSphere Client, une fois connecté, lorsque vous cliquez sur « Plug-ins > Manage Plug-ins…« , vous arrivez sur la page de gestion des plugins et vous voyez ceux qui sont installés/activés/disponibles :

Le plugin sshAutoConnect va vous permettre de vous connecter automatiquement en SSH sur vos serveurs ESX/i directement depuis la console vSphere Client.

Si vous êtes comme dans notre cas où vous avez pas mal de serveurs ESX/i à gérer, ça devenait un peu limite de devoir lancer à côté PuTTY pour se connecter aux serveurs voulus.

On a donc décider de faire un plugin pour intégrer cette fonctionnalité au client vSphere.

Installation

Comme tout plugin du client vSphere, il suffit de télécharger l’archive zip ci-dessous et de la décompresser dans le dossier d’installation des plugin vCenter client et relancer le client vSphere, par défaut :

C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Plugins

Configuration

La configuration du plugin est limité au maximum. Le plugin est livré avec un fichier sshAutoConnect.xml dans le même dossier qui permet de renseigner des credentials à utiliser lors de la connexion automatique (facultatif) :

<?xml version="1.0" encoding="utf-8" ?>
<credentials>
  <default>
    <login>root</login>
    <password>d3d3LnZtZHVkZS5mcg==</password>
  </default>
  <custom_servers>
    <server name="server-esx-01.vmdude.fr">
      <login>root</login>
      <password>d3d3Lmh5cGVydmlzb3IuZnI=</password>
    </server>
    <server name="server-esx-02.vmdude.fr">
      <login>root</login>
      <password>d3d3LnZtd2FyZS5mcg==</password>
    </server>
  </custom_servers>
</credentials>

Le fichier xml comporte 2 sections : <default> et <custom_servers>

La partie <default> sera utilisée si le serveur auquel vous voulez vous connectez n’existe pas dans la partie <custom_servers>. Cela permet de définir des exceptions pour certains serveurs.

Si ce fichier n’existe pas, le plugin ne fournira pas de credential lors de la connexion SSH, et donc l’utilisateur devra s’authentifier normalement.

Note : Les mots de passe mis dans le fichiers de configuration sont encodés en Base64, vous pouvez regarder sur notre précédent billet pour l’encodage/décodage en Base64 en Powershell : Manipulation en base64

Utilisation

L’utilisation du plugin est simple, il suffit de faire un clic droit sur le serveur ESX/i sur lequel vous voulez vous connecter et de cliquer sur le bouton sshAutoConnect :

Téléchargement

  • Voici l’archive .zip qui contient le dossier de plugin avec la dll du projet et un fichier .xml d’exemple : sshAutoConnect
  • Et voici les sources Visual Studio 2010 du projet (comme d’habitude compilable avec MSBuild/csc/VisualStudio) : sshAutoConnect-sources

Note : un grand merci à R0llB4ck pour son aide et son trick sur les Embedded Resource en C#

4 comments

  1. Pingback: Le dude est sur Github | vmdude

Laisser un commentaire

Required fields are marked *.