Le TwiBlog

The one with Twidi

Aller au contenu | Aller au menu | Aller à la recherche

lundi 5 octobre 2009

Connexion linux/ubuntu avec passphrase ssh (pam-ssh), suite

Les nouvelles version de libpam-ssh (1.92.6 pour moi, sous Ubuntu 09-10 Karmic) ne fonctionnent plus de la même façon que celle décrite dans le précédent billet que j'avais écrit sur le sujet.

Maintenant, la ou les clés valides doivent être présentes dans le répertoire .ssh/login-keys.d :

ln -s  ~/.ssh/id_rsa ~/.ssh/login-keys.d/

Quant aux options dans le répertoire /etc/pam.d/, elles changent.

Tout d'abord, plus de fichier pam-ssh-* (ni ssh-* pour les versions intermédiaires).

Puis dans le fichier /etc/pam.d/common-auth, il faut mettre, avant la première ligne commençant par auth :

 auth sufficient pam_ssh.so try_first_pass

Et enfin dans le fichier /etc/pam.d/common-password, il faut mettre, avant la première ligne commençant par password :

session optional pam_ssh.so

Et voilà, cela fonctionne comme avant

jeudi 4 décembre 2008

sys_alive 1.5.3 ajout d'alertes sur la ram utilisée

J'ai oublié d'écrire ici pour parler de la version 1.5.3 de sys_alive, petite mise à jour qui consiste à ajouter des seuils (pour les alertes de niveau 1 et 2) concernant la mémoire réellement utilisée (ne tenant pas compte du cache par exemple)

Pour cela il suffit de rajouter, dans la conf, la clé ram_used dans %seuil_alertes et %seuil_alertes_niveau2, en indiquant une quantité de RAM en ko

lundi 26 novembre 2007

sys_alive 1.5.2 : correction d'un bug bloquant

Dans la version précédente de sys_alive, avec le système forçant de manière brutale la fin d'un démon qui ne voulait pas s'arrêter, j'ai rendu l'arrêt de mysql terriblement mauvais pour lui-même.

En effet il lui fallait alors un bon paquet de minutes avant de redémarrer, devant reconstruire je ne sais plus quel fichier dont il avait besoin.

J'ai donc rajouté un bloc dans la configuration (demons_brute_stop) qui permet de spécifier pour quels démons on utilise cette fonctionnalité, et combien de tentatives auront lieu au maximum.

J'en ai profité pour rajouter une ligne dans le bloc des process à ne pas tuer si trop long (process_to_keep) :

'sys_alive', # on ne kill pas sys_alive

Voilà tout.

jeudi 22 novembre 2007

Passage en version 1.5.1 de sys_alive : mode demon amélioré

Très peu de temps après la version 1.5, sys_alive passe en version 1.5.1

Pas de gros changements dans cette version, juste quelques petits remaniements dans le fonctionnement du mode démon pour que sys_alive puisse être utilisé dans les scripts de démarrage de linux (sous debian, ubuntu... : /etc/init.d/sys_alive.pl et /etc/rcX.d/Ssys_alive.pl via update-rc.d)

Je renseignerai prochainement le wiki du trac associé à sys_alive pour expliquer tout ça plus en détail, sachez juste qu'en mode demon, sys_alive se lance avec comme paramètre start ou stop.

PS : le téléchargement se passe sur http://scripts.twidi.com

mercredi 21 novembre 2007

sys_alive passe en version 1.5 : fonctionnement mode demon, et mise en place de trac

sys_alive passe en version 1.5 (téléchargeable sur http://scripts.twidi.com)

Au menu des nouveautés :

  • fonctionnement possible en mode démon à la place du mode cron
  • force l'arrêt de certains démons qui n'auraient pas été stoppés correctement via l'appel de la commande en conf
  • mise en place de trac (sys_alive étant géré via svn depuis la version 1.2.8)

A propos du mode démon

sys_alive tournait jusque là en cron toutes les minutes (ou autre selon votre paramétrage). Ce qui induisait, chaque minute, un process cron et un process perl...

Finalement, un sys_alive qui tourne en démon a plusieurs avantages :

  • moins de process, donc moins de charge induite (notamment en cas de forte charge du serveur, j'ai déjà vu une bonne vingtaine de cron et de perl+sys_alive tourner)
  • paramétrage du délai plus fin (par défaut à 60 secondes, peut être changé en conf)

La contrepartie c'est que maintenant sys_alive a besoin de deux modules perl : Proc::Daemon et File::Pid (disponibles tous les deux via cpan)

Au niveau de la configuration, un bloc a été rajouté :

 %mode_demon = (
   'actif'    => 1,                            # 0 pour fonctionnement classique en cron, 1 pour fonctionnement en demon
   'pid_file' => '/var/run/sys_alive.pid',     # emplacement du fichier pid (
   'wait'     => 60,                           # délai (en secondes) d'attente entre deux analyses
 );

PS : ce mode démon m'a donné plein d'idées pour une version 2 ;)

dimanche 2 septembre 2007

Récupérer la liste des modules perls à installer

Réinstallant une machine, j'ai eu besoin de connaître tous les modules perl à réinstaller.

Quelques find, grep et sed suffisent :

find ./ \( -name '*.pm' -or -name '*.pl' -or -name '*.cgi' \) -exec grep -io '\(^\|\s\|;\)use\s\(\w\+::\)*\w\+' {} \; | grep -v 'use \(Exporter\|Carp\|constant\|lib\|vars\|base\|POSIX\|strict\)$' | sed "s/^[[:space:]]*use[[:space:]]*//i" | sort | uniq

De là vous faut retirer vos propres modules.

samedi 26 mai 2007

Utiliser "ssh-copy-id" vers une machine où ssh tourne ailleurs que sur le port 22

ssh-copy-id est un script qui permet de copier sa clé publique sur une machine distante, et ainsi pouvoir se connecter à cette machine en ssh avec sa clé et non le mot de passe (et ainsi ne plus avoir besoin de s'identifier à chaque fois, grâce à ssh-add ou pam-ssh)

En tant que script, il permet d'éviter la copie à la main du fichier nécessaire.

Mais en tant que script, il n'est pas prévu énormément d'option, et notamment pas la possibilité de spécifier le port sur lequel tourne ssh sur la machine distante.

En jetant un oeil au script j'ai néanmoins trouver comment faire :

ssh-copy-id -i CLE_PUBLIQUE "-p PORT SERVEUR"

Remplacer

  • CLE_publique par le fichier de votre clé publique, par exemple ~/.ssh/id_rsa.pub
  • PORT par le port sur lequel ssh tourne sur la machine distante
  • SERVEUR l'ip ou le nom de la machine distante

Dans l'idéal on n'aurait pas à saisir l'option -i (fichier de la clé publique) mais c'est impératif si on veut pouvoir utiliser la bidouille "-p PORT SERVEUR"

Connexion linux/ubuntu avec passphrase ssh (pam-ssh)

Un petit billet pour expliquer comment se logguer dans sa session ubuntu avec sa passphrase ssh au lieu de son mot de passe classique.

L'avantage principal est notamment de valier votre passphrase ssh et ainsi pouvoir vous logguer sur tout compte ssh autorisé sans saisir votre passphrase à nouveau, ni lancer un ssh-add.

Dans le meilleur des cas vous économisez une saisie de mot de passe : on le fait au début une fois pour toute.

Voici les étapes à suivre :

1) Installer pam-ssh :

sudo aptitude install libpam-ssh

2) Créer une clé ssh si vous n'en avez pas déjà une (je pense que si vous lisez ce topic, vous l'avez déjà)

ssh-keygen

3) Modifier la séquence de validation du login.

Ci-dessous, remplacez $EDITOR par votre éditeur texte favori, ou faîtes un

export EDITOR=votre_editeur_favori

Il faut donc modifier deux fichiers lié à pam :

sudo $EDITOR /etc/pam.d/common-auth

Avant la première ligne commençant par "auth", ajouter

@include pam-ssh-auth

Puis :

sudo $EDITOR /etc/pam.d/common-password

Avant la première ligne commençant par "password", ajouter

@include pam-ssh-session

Vous pourrez toujours vous logguer avec votre mot de passe, dans quel cas il vous faudra saisir ultérieurement votre passphrase ssh en cas de besoin.

Note : si vous vérouillez votre session, pour revenir, tapez également votre clé ssh.

lundi 21 mai 2007

Passage (temporaire ou non) de Kubuntu à Ubuntu (les deux en Feisty)

Et bien oui des fois des envies prennent sans qu'on s'y attende...

J'ai donc décidé de retester Gnome via Ubuntu, après l'avoir quitté il y a quelques temps déjà pour Kde via Kubuntu.

En vrac :

D'abord les "moins" :

1) nautilus à pas de système d'onglet, ca craint (et je parle pas de la possibilité de konqueror de partager la fenetre)

2) pour les notifications evolution (mail) et gaim (messagerie instantanée), faut se battre :

  • il faut le paquet "mail-notification-evolution" pour evolution (et le configurer dossier par dossier dont on veut etre notifié)
  • il faut le paquet "gaim-libnotify" pour gaim, et le configurer

bon avec ça on a des notifications sympathiques, toutes sur le meme thème. pas évidant

3) le orange, c'est MOCHE, personnellement j'ai mis le theme "glider". Mais quoi qu'il en soit, la personnalisation est extrèmement moins poussée que pour KDE

4) pas possibile dans la "tray barre" (appelée "zone de notification" dans gnome") de choisir de masquer tel ou tel icone

5) il manque un "centre de configuration" à la kde... toujours passer par le menu, c'est lourd (oui je sais il y a gnome-control-center, mais il n'est pas proposé dans le menu ubuntu)

6) les bureaux :

  • il faut installer brightside pour passer d'un bureau à l'autre en amenant la souris au bord de l'écran
  • avec ctrl-alt-droite/gauche, quand on est "au bout", on revient pas au premier.. j'hallucine...

7) un petit manque de personnalisation d'evolution par rapport à kontact (je garde le tout-intégré-gnome pour utiliser beagle plus tard)

8) contrairement au gestionnaire de session de kde, celui de gnome ne considère par firefox comme une appli qu'il peut relancer... dommage, il faut le spécifier à la main

Ensuite les "plus" :

1) la "deskbar", c'est top, une sorte de katapult en mieux/différent (j'ai encore le malheureux reflexe du alt-space)

2) beryl ca marche tout seul (inutile et désagréable à l'utilisation, mais beau et simple à faire marcher, faut par contre installer des paquets en plus pour la configuration)

3) le majhong est plus beau que celui de kde (bon ok, c'est un peu inutile comme remarque)

Bon, on verra à l'utilisation, je n'ai pas viré mon kubuntu, je suis juste sur une partition séparée (celle sur laquelle trainait le windows installé avec mon portable, utilisé trois ou quatre fois depuis l'achat il y a 14 mois). Il est possible que je reste sous ubuntu un certain temps, meme si je sais qu'au final il me manquera toujours la possibilité qu'a KDE de tout personnaliser au maximum.

lundi 7 mai 2007

Petites modifications de sys_alive

sys_alive passe en version 1.2.8 avec quelques petites modifications :

  • possibilité de stocker les fichiers de conf, data et log dans des répertoires séparés
  • affichage par défaut du résultat de "ps faux" au lieu de "top" dans le mail d'alerte (commande entièrement modifiable en configuration)

Pour rappel, sys_alive est un outil (script perl) de surveillance de serveur web linux, développé dans le but de maintenir un serveur "en vie", téléchargeable ici

lundi 23 avril 2007

Kubuntu : problème lors du passage de Edgy à Feisty (le "Kubuntu upgrade tool" ne s'ouvre pas)

En utilisant la procédure recommandée pour passer mon Kubuntu de Edgy au tout nouveau Feisty, j'ai eu un problème, que j'évoque ici afin de donner la solution.

Il est donc recommandé d'utiliser Adept Manager, de faire un "Fetch update", et que de là, un assistant va s'ouvrir. Jusque là tout va bien.

Cet assistant se termine par un clic sur un bouton "finish" à partir duquel est normalement censé s'ouvrir le "Kubuntu upgrade tool". Sauf que celui ne s'ouvrait pas.

Pour que cet outil de mise à jour s'ouvre, il faut deux conditions :

- TOUS les paquets doivent être à jour (j'avais un problème ave mon opera qui demandait une version de libc que je n'avais pas, solution : apt-get remove opera)

- TOUS les dépôts contenus dans /etc/apt/sources.list doivent être bon (ils doivent répondre et ne pas avoir de problème de clé), si un ne répond pas, il suffit de le commenter (en rajoutant un # devant)

Une fois ces petits problèmes résolus, l'upgrade se passe bien (téléchargement de 1004Mo en cours pour moi)

samedi 28 octobre 2006

Firefox 2 : touches acceskeys, restauration des sessions et touche backspace

Je ne vais pas faire un billet sur Firefox 2 récemment sorti, tout le monde l'a fait.

Non, je vais faire un billet un peu plus pratique comportant 3 points qui me posaient problème mais que j'ai résolu (grâce à un certain google).

Ces trois points nécessitent des modifications via about:config, et le redémarrage du navigateur pour que les changements prennent effet.

Touches acceskeys

En HTML il est possible d'attribuer un raccourci clavier à un bouton, champ de saisie... Ce raccourci était d'fini par une lettre, associée à la touche ALT.

Avec Firefox 2, ce n'est plus la touche ALT seule, mais ALT et SHIFT, qu'il faut presser en même temps que la lettre pour obtenir le même effet !

Il est cependant possible de rétablir le comportement original :

  1. allez à l'adresse about:config
  2. tapez ui.key.contentAccess dans le filtre
  3. double-cliquez sur la ligne
  4. remplacez 5 par 4

Restauration des sessions

Edit : Il suffit de choisir, "Afficher les derniers onglets et fenêtres utilisés" pour "Au démarrage de Firefox" dans l'onglet "Général" des options

Pour ceux que ça intéresse quand même, je disais :

Une des nouvelles fonctionnalités de Firefox 2 est d'implémenter un système de restauration des sessions, utile notament en cas de crash.

Je n'ai trouvé aucune option à ce sujet, et cette fonctionnalité est désactivée par défaut. Voici comment la mettre en place, pour se passer de l'ancienne extension "sessionsaver" (ou autre)

# allez à l'adresse about:config # taper sessionstore dans le filtre # entrez (ou modifiez si elles existent) les valeurs suivantes :

* browser.sessionstore.enabled, de type booléen, à "true" * browser.sessionstore.resume_from_crash, de type booléen, à "true"

Et si vous souhaitez que la session soit restaurée même en cas de fermeture volontaire vu navigateur : * modifiez browser.startup.page en remplaçant 1 par 3

Touche backspace

Sous linux, la touche backspace fonctionnait auparavant comme sous windows : retour à la page précédente. Cela a été modifié (sous linux uniquement) pour une histoire d'homogénéité. Comme pour les accesskeys, cela ne me convient pas, et voici donc comment retrouver le fonctionnement de la version 1.x :

  1. allez à l'adresse about:config
  2. tapez browser.backspace_action dans le filtre
  3. changez la valeur de 1 à 0

mardi 22 août 2006

sys_alive, version 1.2.7

sys_alive est mis à jour et passe à la version 1.2.7

Cette nouvelle version corrige un bug présent uniquement avec les noyaux 2.6. En effet, le changement de format du fichier /proc/meminfo (en fait la suppression des trois premières lignes) rendait toute la partie "gestion de la mémoire" complètement inopérante. J'ai donc recodé la partie analysant /proc/meminfo de telle sorte que ce soit compatible avec les noyaux 2.4 et 2.6.

J'en ai profité pour refaire la tabulation du script, et pour passer les fichiers .conf et .pl en UTF8.

Le téléchargement se fait toujours à l'adresse suivante : http://scripts.twidi.com/script.cgi ?script=./sys_alive.pl

sys_alive : surveillance de serveur web

sys_alive est un outil (script perl) de surveillance de serveur web linux, développé dans le but de maintenir un serveur "en vie" en réalisant les tâches suivantes :

  • envoi d'alerte (mail, sms) en cas de surcharge (load average, swap ou nombre de process) avec nombre d'informations nécessaires (cause de l'alerte, process en cours, état de la mémoire, état d'apache et de mysql, dernières lignes du fichier log)
  • second niveaau d'alerte avec arrêt de certains serveurs (par exemple apache, mysql) pour une durée définie à l'avance dans un fichier de configuration complet et documenté
  • en temps normal, relance les serveurs absents (suite par exemple à un plantage de apache, ce dernier sera relancé)
  • arrête les process trop long (utile sur un serveur d'hébergement par exemple pour éviter les scripts clients trop gourmand en temps CPU)
  • enregistre en log toutes les actions effectuées

Ce script est utilisé depuis des années sur tous mes serveurs, en production ou non, ainsi que par plusieurs autres personnes d'origines diverses.

Vous trouverez cet outil sous license GPL à l'adresse suivante : http://scripts.twidi.com/script.cgi?script=./sys_alive.pl

jeudi 3 août 2006

Vim 7 pour Ubuntu (Dapper)

Utilisateur intensif de vim depuis que je l'ai découvert il y a plusieurs mois, j'ai entendu parlé à de nombreuses reprises de la version 7.

Vim7 n'étant pas actuellement disponible sous Ubuntu Dapper que j'utilise (en fait Kubuntu), j'ai cherché et... trouvé !

Il suffit d'inclure la ligne suivante dans son fichier /etc/apt/sources.list :

deb http://www.freshnet.org/debian/dapper /

Le tout suivi d'un petit sudo apt-get update && sudo apt-get upgrade

Liens :