Recherche - ssh
6 août 2012
Zabbix 2.0.1 - Installation sur Debian avec MySQL
Par Romain Tiennot le lundi 6 août 2012, 09:00 - Linux
14 décembre 2011
Activer SFTP sur VMware ESXi
Par Romain Tiennot le mercredi 14 décembre 2011, 19:11 - VMware
VMware ESXi ne propose pas par defaut très peu de moyen pour transferer des fichiers. Cette article va montrer comment activer le SFTP afin d'envoyer ou récuperer des fichiers. Une fois le SSH activé, vous pouvez utilisé le protocol SCP moins sécurisé et rapide que le SFTP.
Pour ce faire, il faut télécharger le fichier "SFTP-SERVER" que vous pouvez récuperer avec la commande wget si l'ESXi à internet sinon, vous pouvez le transferer via SCP. Je copie le fichier dans un répertoire particulié pour qu'il ne soit pas supprimé après le redemarrage de l'ESXi.
cd /usr/lib/vmware/hostd/docroot/downloads/ wget http://romain.tiennot.fr/public/esxi/sftp-server
Ensuite, on lui rajoute les droits d'execution :
chmod 777 sftp-server
On le copi dans le répertoire /usr/sbin/
cp sftp-server /usr/sbin/
Le serveur TFTP fonctionne. Sauf qu'au prochain redemarrage, le fichier sera supprimé et vous ne pourrez plus utiliser ce type de connexion. Pour remedier à ce probleme, nous allons indiquer dans le script de demarrage de copier le fichier "sftp-server" dans le répertoire "/usr/sbin/" :
vi /etc/rc.local cp /usr/lib/vmware/hostd/docroot/downloads/sftp-server /usr/sbin/
Voici la vidéo :
A bientôt,
Romain
5 novembre 2011
Ajouter un utilisateur/groupe du domaine administrateur d'un MAC
Par Romain Tiennot le samedi 5 novembre 2011, 15:53 - Serveur
Il est possible d'integrer un MAC dans un domaine Active Directory.
Une fois integré, vous pouvez vous authentifier avec votre compte du domaine. Pour administrer plus facilement le MAC, vous pouvez rajouter un groupe ou utilisateur Active Directory administrateur du MAC en ligne de commande.
Pour ce faire, deux solutions :
- En SSH en activant dans "Préférence Systeme" > "Partage" > "Session à distance"
- Avec l'outil "terminal" disponible dans "Application"
Une fois activé, il suffit de saisir la commande suivante pour rajouter un utilisateur du domaine administrateur du mac :
dseditgroup -o edit -a "DOMAIN\utilisateur" admin
Et pour rajouter un groupe du domaine administrateur du mac :
dseditgroup -o edit -a "DOMAIN\group" -t group admin
A bientôt,
Romain
21 octobre 2011
Création de Snapshot automatique
Par Romain Tiennot le vendredi 21 octobre 2011, 08:50 - VMware
J’ai conçu un script permettant d’effectuer des snapshots en se basant sur un fichier nommé « listSnapshot » ou il est indiqué les noms des machines virtuelles. De plus, il créé un fichier de log qui sera automatiquement envoyé par email. On peut y voir l’état des machines virtuelles, l’ID des machines virtuelles et si le snapshot s’est fait correctement.
Dans mon cas, le script va :
- Lire le fichier texte nommé listSnapshot
- Indiquer les l'ID des machines à sauvegarder dans un répertoire "vms_list" dans "/tmp"
- L'etat de la machines virtuelles
- Créer un fichier de log
- Envoi le fichier de log par email
Dans un premier temps, il faut transferer gràce à WinSCP le fichier "snapshot.sh" dans le répertoire :"/vmfs/volumes/<datastore1>/" puis le rendre exécutable en SSH : (pour activer le SSH, vous pouvez consulter mon article))
chmod +x snapshot.sh
Ensuite, il faut créer le fichier "listSnapshot" avec la commande :
vi listSnapshot
Indiquer le nom des machinves virtuelles sous la forme suivante :
VM01 VM02 VM03
Sauvegarder et quitter gràce à ":wq".
Pour effectuer la sauvegarde, il faut saisir la commande suivante en SSH :
./sauvegarde.sh
Pour automatiser l’execution des scripts, il existe sous linux « Cron » qui est l’equivalent des taches planifié sous Windows. Sous Esxi, le fichier de configuration se trouve « /var/spool/cron/crontabs/root ». J’ai rajouté deux lignes à la suite indiquant : Executer le script « snapshot.sh » en tenant compte du fichier « listSnapshot » du Lundi au Vendredi à 22h01
0 20 * * 1-4 /vmfs/volumes/4d2aed1f-7a700542-ecbc-00237d9db922/snapshot.sh
Pour que le fichier de configuration cron soit pris en compte, il faut redemarrer le service avec les commandes suivante :
Kill $(cat /vaar/run/crond.pid)
Busybox crond
Attention, lors du prochain redemarrage, le fichier de configuration cron sera reinitialisé. Pour eviter de perdre la configuration, j’ai rajouté dans le script de demarrage du serveur quatre ligne qui rajoutera automatiquement les lignes de configuration dans le fichier cron et redemarrera le service :
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 20 * * 1-4 /vmfs/volumes/4d2aed1f-7a700542-ecbc-00237d9db922/snapshot.sh" >> /var/spool/cron/crontabs/root
/bin/busybox crond
#!/bin/sh ############################################################################# # Debut du fichier de log # ############################################################################# export jour=$(date '+%A %d %B %Y') export log=$(date +%D) export log2=$(date '+%d%m%y') export heure=$(($(date +%H)+2)) export minute=$(date '+%M:%S') echo -en "HELO ESXI\n" >> /tmp/snap_$log2 echo -en "MAIL FROM: <ESXI@tiennot.fr>\n" >> /tmp/snap_$log2 echo -en "RCPT TO: <romain@tiennot.fr>\n" >> /tmp/snap_$log2 echo -en "RCPT TO: <admin@tiennot.fr>\n" >> /tmp/snap_$log2 echo -en "DATA\n" >> /tmp/snap_$log2 echo -en "From: ESXI@tiennot.fr\n" >> /tmp/snap_$log2 echo -en "To: romain@tiennot.fr\n" >> /tmp/snap_$log2 echo -en "To: admin@tiennot.fr\n" >> /tmp/snap_$log2 echo -en "Subject: ESXI - " >> /tmp/snap_$log2 echo -en $jour" - "$heure":"$minute >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 echo -en "############################## Début du SCRIPT ##############################\n" >> /tmp/snap_$log2 ############################################################################# # Boucle fichier - Création du snapshot # ############################################################################# #création de la variable du chemin vim-cmd export VMWARE_CMD=/bin/vim-cmd ${VMWARE_CMD} vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list #debut de la boucle qui lit ligne par ligne while read line do export jour=$(date '+%A %d %B %Y') export log=$(date +%D) export log2=$(date '+%d%m%y') export heure=$(($(date +%H)+2)) export minute=$(date '+%M:%S') NUM_VM=$((NUM_VM + 1)) echo -en "--------------------------------- "$NUM_VM". "$line" -------------------------------\n" >> /tmp/snap_$log2 #affiche ce qu'il y a ecrit sur la ligne:nom de la machine virtuelle echo -en $log" - "$heure":$(date '+%M:%S') || info : Nom de la machine Virtuelle : "$line".\n" >> /tmp/snap_$log2 #cherche l'ID de la machine virtuelle ${VMWARE_CMD} vmsvc/getallvms | sed 's/[[:blank:]]{3,}/ /g' | awk -F' ' '{}' | sed 's/] /]";"/g' | sed '1,1d' #création de la variable de l'ID de la machine virtuelle export VM_ID=`grep -E ""${line}"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'` if [[ "${VM_ID}" = "" ]]; then echo -en $log" - "$heure":$(date '+%M:%S') || info : ERREUR, "$line" n'existe pas.\n" >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 continue fi #affiche l'ID de la machine virtuelle echo -en $log" - "$heure":$(date '+%M:%S') || info : ID de la machine Virtuelle : "$VM_ID".\n" >> /tmp/snap_$log2 #création de la variable du Status de la machine virtuelle ORGINAL_VM_POWER_STATE=$(${VMWARE_CMD} vmsvc/power.getstate ${VM_ID} | tail -1) #affiche le status de la machine virtuelle if [[ "${ORGINAL_VM_POWER_STATE}" = "Powered off" ]]; then VM_ETAT="Eteint" fi if [[ "${ORGINAL_VM_POWER_STATE}" = "Powered on" ]]; then VM_ETAT="Allumé" fi if [[ "${ORGINAL_VM_POWER_STATE}" = "Suspended" ]]; then VM_ETAT="Suspendu" fi echo -en $log" - "$heure":$(date '+%M:%S') || info : Etat de la machine Virtuelle : "$VM_ETAT".\n" >> /tmp/snap_$log2 NOM_SNAP="ESXI_"$line"_"$(date +%D) echo -en $log" - "$heure":$(date '+%M:%S') || info : Création du Snapshot "$NOM_SNAP" pour "$line".\n" >> /tmp/snap_$log2 ${VMWARE_CMD} vmsvc/snapshot.create ${VM_ID} "${NOM_SNAP}" "${NOM_SNAP}" > /dev/null 2>&1 echo -en $log" - "$heure":$(date '+%M:%S') || debug : Merci de patienter durant la création du snapshot : "$NOM_SNAP".\n" >> /tmp/snap_$log2 echo -en $log" - "$heure":$(date '+%M:%S') || debug : Succès, le snapshot a été créé.\n" >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 done < "/vmfs/volumes/4d27644c-244cadc9-7b49-000c297ad13c/listSnapshot" ############################################################################# # Fin du fichier de log # ############################################################################# echo -en "\n" >> /tmp/snap_$log2 echo -en "############################## Fin du SCRIPT ##############################\n" >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 echo -en "\n" >> /tmp/snap_$log2 echo -en "." >> /tmp/snap_$log2 "/usr/bin/nc" "SERVEUR_SMTP" "25" < "/tmp/snap_$log2"
Voici la vidéo :
A bientôt, Romain
15 octobre 2011
Installer Gate One - Client SSH en HTML5
Par Romain Tiennot le samedi 15 octobre 2011, 12:55 - Linux
Hier, sur le site de Korben, je suis tombé sur un article montrant les exploits d'un fou furieux nommé Dan McDougall qui a développé un client SSH en HTML5. Enfin, quand on y regarde un peu plus près, l'utilisation du client se fait via un navigateur qui affiche du HTML 5 mais ce qui permet de faire tourner ce petit bijou est en Python. Je me suis donc attelé sur l'installation de ce fameux Gate One mais je n'ai trouvé nulle part de bonne explication pour le faire fonctionner. En revanche, c’est une version BETA et j’ai constaté un problème avec l’interprétation du clavier Français. J’attends avec impatience la version finale !
Dans mon cas, je l’Install sur la dernière version de Debian (6.03) et je suis en root.
Dans un premier temps, on met à jours la distribution :
apt-get update apt-get upgrade
Ensuite, on installe les paquets :
apt-get install python-tornado python-pip dtach python-pyopenssl python-kerberos python-dev git build-essential apt-get purge python-tornado pip install tornado pyopenssl
Ensuite, on télécharge les sources :
git clone https://github.com/liftoff/GateOne.git
Les sources installé, on va procéder à l'installation :
cd GateOne/ python setup.py install
L'installation prend deux secondes et nous allons exécuter le service :
cd /opt/gateone/ ./gateone.py
Il nous reste à ouvrir notre navigateur favori puis accéder en HTTPS au client SSH :
https://IP_DU_SERVEUR/
Vous pouvez d'autre information pour affiner les parametrage sir le site officiel.
Voici la vidéo :
A bientôt,
Romain
« billets précédents - page 1 de 3