Le TwiBlog

The one with Twidi

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

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"

vendredi 9 décembre 2005

debian / apt / dpkg : Comment empêcher la mise à jour d'un paquet

Prenons l'exemple de wine qui, pour certaines raisons (comme l'install d'IE6 sous linux), doit être installé dans une version spécifique.

Le problème est que lors de la prochaine mise à jour (apt-get upgrade), wine sera mis à jour à la dernière version disponible.

La solution est la suivante, qui consiste à dire à dpkg (et donc apt) de ne pas mettre à jour ce paquet :

 echo "nom_du_paquet hold" | dpkg --set-selections

Et voilà ;)

Pour débloquer un paquet :

 echo "nom_du_paquet install" | dpkg --set-selections

Pour avoir la liste des paquets bloqués :

 dpkg --get-selections | grep hold

Javascript, input.value et onchange

Il n'est pas rare lors du traitement d'un formulaire de vouloir renseigner par script les champs qui le composent.

Un exemple typique : l'ouverture d'ue calendrier en popup qui, lors de la sélection d'une date, remplira les champs de la fenêtre appelante.

Un truc à savoir c'est que quand on modifie un champ en script, l'évenement onchange du champ n'est pas appelé !

Par exemple, si sur votre champ date vous avez un onchange qui vérifie que la date n'est pas dans le passé, et bien via le calendrier vous pourrez quand même choisir une telle date.

Ce qu'il faut faire, c'est, lors de la modification du champs, appeler juste après la methode onchange du champs

Exemple :

 monchamps.value = mavaleur;
 if (monchamps.onchange) { monchamps.onchange(); }

Ainsi, l'évènement sera appelé s'il existe.

PS : la bonne façon d'accéder à un champs est

 document.forms['name_du_formulaire'].elements['name_du_champ']

et non pas

 documents.name_du_formulaire.name_du_champs