Outils personnels

Activation ssh sur ESXi

De wikiGite

SSH

Jusqu'à ESXi 4.0

Sur la console du serveur ESXi, commencer par configurer le clavier en français par F2 (modification prise en compte tout de suite).

Puis Ctrl-Alt-F1, taper en aveugle "unsupported". Donner le mot de passe root (pas de mot de passe par défaut, penser à changer ça !).

Editer /etc/inetd.conf avec vi, trouver la ligne #ssh et la décommenter.

Redémarrer inetd (pour ESXi 3.5; pour 4.0 voir plus bas)

ps | grep inetd ' trouver l'ID du process
kill - HUP process_id

A partir d'une console ssh lancée du poste devant se connecter par la suite :

cd /
mkdir .ssh
vi .ssh/authorized_keys

Y copier le contenu du fichier ~/.ssh/id_dsa.pub du poste local. Sauvegarder par :wq, puis

chmod -R 600 .ssh

Editer à nouveau /etc/inetd.conf, ajouter "-g" au bout de la ligne (le "-i" signifie qu'il sera lancé en service par inetd, il doit déjà y être, et le -g interdit la connexion root par mot de passe), et redémarrer inetd.

(voir le paragraphe OEM.TGZ ci-dessous)

NOTE : sur ESXi 4.0, le redémarrage d'inetd ne suffit pas, ni celui des services (service.sh restart). Il faut redémarrer ESXi, mais lire le paragraphe OEM.TGZ ci-dessous avant !

A partir d'ESXi 4.1

La console locale ("Local Tech support") est désormais désactivée par défaut. On l'active par F2, "Troubleshooting options".

Mais ce n'est plus vraiment nécessaire de l'activer juste pour autoriser le SSH : dans ce même écran, on a aussi directement la possibilité d'activer le "Remote Tech support", en d'autres termes : SSH.


Ajout d'un utilisateur

Ajouter un utilisateur via le VIClient pour pouvoir se connecter tout de même si on a pas la clé (perte de clé, changement de poste...)(dans ce cas il demandera le mot de passe de l'utilisateur, l'interdiction ne vaut que pour root).

Mais attention : l'utilisateur créé n'a pas le droit par défaut de lancer une console sur le serveur. Il faut donc se connecter en root, éditer /etc/passwd

vi /etc/passwd

sur la ligne correspondant à l'utilisateur ,

  • remplacer "/home/nom_de_l_utilisateur" par "/",
  • remplacer "/bin/false" par "/bin/ash".

On peut alors l'utiliser pour se connecter par ssh. A partir du poste dont la clé publique est dans l'authorized_keys, il ne demandera pas de mot de passe ni pour l'utilisateur ni pour root. A partir d'un autre poste, l'utilisateur pourra se connecter avec son mot de passe, mais root sera refusé. (utiliser dans ce cas "su" une fois connecté avec l'utilisateur).

oem.tgz

Lorsque ESXi redémarre, l'arborescence de base est remise à zéro. Le répertoire /.ssh et son authorized_keys notamment, sont supprimés.

On peut forcer leur "re-création" en modifiant le fichier /bootbank/oem.tgz.

cd /tmp
mkdir oem
cd oem
tar -xvzf /bootbank/oem.tgz
cp -r /.ssh .
tar -cvzf oem.tgz * .ssh
cp oem.tgz /bootbank

Le répertoire sera recréé avec son contenu au prochains redémarrages.