A des fins d’administration, il peut être nécessaire d’avoir à utiliser SSH pour effectuer certaines manipulations sur des serveurs ESXi.
Comment faire lorsque l’on souhaite activer le service SSH sur tous les membres d’un cluster ?
Connecté à votre vCenter préféré, vous avez 2 lignes de commandes à utiliser …
La première pour l’activation :
get-cluster "MonCluster" |Get-VMHost | foreach {get-vmhostservice -vmhost $_.name | where-object {$_.key -eq "TSM-SSH"} | start-vmhostservice -confirm:$false }
La deuxième pour la désactivation:
get-cluster "MonCluster" |Get-VMHost | foreach {get-vmhostservice -vmhost $_.name | where-object {$_.key -eq "TSM-SSH"} | stop-vmhostservice -confirm:$false }
Dans les 2 cas « MonCluster » est à remplacer par le nom de votre cluster.
Petite explication …
- Get-cluster « MonCluster » => renvoie les informations concernant le cluster avec le nom « MonCluster »
- Le résultat de la commande est redirigé vers la commande Get-VMHost => cela permet d’avoir des informations sur les hôtes du cluster …
- Le résultat de la commande précédente est redirigé vers une boucle qui pour chaque objet VMHost (-vmhost $_.name) va chercher le service (get-vmhostservice) « TSM-SSH »
- Qui sera soit démarré avec start-vmhostservice, soit arrêté avec stop-vmhostservice … Sans demande de confirmation (-confirm:$false)
Vous savez désormais activer / désactiver le service SSH sur tous les hôtes d’un cluster.