Activation ssh sur ESXi : Différence entre versions
De wikiGite
(→oem.tgz) |
(→ssh) |
||
Ligne 6 : | Ligne 6 : | ||
Editer /etc/inetd.conf avec vi, trouver la ligne #ssh et la décommenter. 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). | Editer /etc/inetd.conf avec vi, trouver la ligne #ssh et la décommenter. 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). | ||
− | Si on a ajouté "-g" il faut créer /.ssh/authorized_keys et y ajouter la clé publique du(es) client(s) utilisant ssh. | + | Si on a ajouté "-g" il faut créer /.ssh/authorized_keys et y ajouter la clé publique du(es) client(s) utilisant ssh.<br> |
− | (voir le paragraphe OEM.TGZ ci-dessous) | + | '''(voir le paragraphe OEM.TGZ ci-dessous)''' |
+ | |||
+ | 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 | ||
Redémarrer inetd | Redémarrer inetd | ||
Ligne 13 : | Ligne 20 : | ||
kill - HUP process_id | kill - HUP process_id | ||
− | '''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. | + | '''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 ! |
Ajouter un utilisateur via le VIClient pour pouvoir se connecter tout de même si on a pas la clé (dans ce cas il demandera le mot de passe de l'utilisateur, l'interdiction ne vaut que pour root). | Ajouter un utilisateur via le VIClient pour pouvoir se connecter tout de même si on a pas la clé (dans ce cas il demandera le mot de passe de l'utilisateur, l'interdiction ne vaut que pour root). | ||
Ligne 23 : | Ligne 30 : | ||
*remplacer "/bin/false" par "/bin/ash". | *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). | 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 == | == 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. | Lorsque ESXi redémarre, l'arborescence de base est remise à zéro. Le répertoire /.ssh et son authorized_keys notamment, sont supprimés. |
Version du 17 novembre 2009 à 16:50
ssh
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. 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).
Si on a ajouté "-g" il faut créer /.ssh/authorized_keys et y ajouter la clé publique du(es) client(s) utilisant ssh.
(voir le paragraphe OEM.TGZ ci-dessous)
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
Redémarrer inetd
ps | grep inetd ' trouver l'ID du process kill - HUP process_id
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 !
Ajouter un utilisateur via le VIClient pour pouvoir se connecter tout de même si on a pas la clé (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.