IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Clé ssh et tâche cron


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut Clé ssh et tâche cron
    Bonjour à tous

    Désolé si le sujet est rebattu, mais je n'ai rien trouvé pour le moment qui ,m'ait permis de régler le problème.

    J'ai des scripts cron qui font un rsync entre un serveur en prod et un serveur "miroir" pour chaque site qui est sur le serveur. Avant ça marchait très bien, mais j'ai dû (après un problème avec le serveur en prod) mettre en prod le miroir, erraser l'ancien prod et recommencer le système.
    C'est le serveur en prod qui fait son rsync sur le miroir. Sur le serveur en prod, j'ai une clé ssh dsa généré depuis le serveur en prod et sa clé publique sur le miroir.
    Enfin, le script fonctionne très bien quand je lance le rsync manuellement (pas en tache cron) et la connexion ssh fonctionne bien avec la clé, si ce n'est que je suis obligé à chaque cession de retapper la passphrase.

    Par contre, j'aimerais faire en sorte que "cron" mémorise la passphrase de la clé, parce que sans cela, ça ne fonctionne pas, et je n'ai pas trouvé de solution compréhensible ou satisfaisante pour le moment.
    J'ai essayé d'utiliser keychain mais sur mon ubuntu 12.04 je n'ai pas de fichier .bash_profile dans /root. J'ai essayé de créer le fichier et de mettre les différente choses que j'ai trouvé à ce sujet dedans, mais rien n'a fonctionné pour le moment.

    Avez-vous une solution pour cela, tout du moins des pistes.
    Merci d'avance pour votre aide.
    Denis

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    Citation Envoyé par den66 Voir le message
    J'ai essayé d'utiliser keychain mais sur mon ubuntu 12.04 je n'ai pas de fichier .bash_profile dans /root.
    tu dois bien avoir un .bashrc ou un .profile qui traine dans le répertoire, ça doit faire l'affaire

    sinon tant qu'à avoir un agent qui tourne en permanence et retient ta passphrase, une autre solution peut consister à créer une clé ssh sans passphrase juste pour ce besoin précis, tu peux même éventuellement la limiter à 1 commande (rsync, ou mieux encore, un script maison qui lance rsync ?), la manip semble bien détaillée ici

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Bonjour BufferBob

    Et merci pour ta réponse.
    J'ai bien un .profile que j'ai essayé d'utiliser. J'ai surement mal fait les choses, je vais réessayer.
    Pour la passphrase vide, j'ai vu que certaines personnes trouvent que cela n'est pas terrible. Mais je vais étudier le lien que tu as mis (ce qui est toujours délicat pour mon niveau d'anglais ).
    En tout cas, merci de t'être penché sur mon problème.
    Denis

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Juste une question par rapport au tuto auquel tu fais référence.

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command = "$ HOME / bin / rrsync -ro ~ / backups /», sans agent de renvoi, sans port-forwarding, no-pty, sans user-rc, no-X11-forwarding
    se place bien dans le fichier autorized_key avant la clé publique ?
    Merci d'avance pour ton aide.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Désolé... c'est bien avant la clé qu'il faut mettre la commande.
    Par contre le $HOME correspond bien à /root ou à /home ? J'imagine que cela dépend de la session, mais je préfère m'en assurer.

    Par contre, ce que je ne comprends pas c'est où se place la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ~$ rsync -e "ssh -i $HOME/.ssh/id_remote_backup" -av user@remote: etc2/
    Mon script cron est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/sh
    #set -e
    rsync -auv --delete-before --exclude 'tmp/' /var/www/dossier_du_site/ root@den01:/var/www/html/dossier_du_site/
    Il faut que je mettes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/sh
    #set -e
    rsync -e "ssh -i $HOME/.ssh/id_remote_backup" -auv --delete-before --exclude 'tmp/' /var/www/dossier_du_site/ root@den01:/var/www/html/dossier_du_site/
    Et enfin, dernière question... est-ce que ça marchera aussi pour un script utilisant scp ? (transfert d'un dump de BDD).
    J'espère ne pas abuser avec toutes mes questions.

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par den66 Voir le message
    Par contre le $HOME correspond bien à /root ou à /home ? J'imagine que cela dépend de la session, mais je préfère m'en assurer.
    pour t'en assurer tu as la commande echo $HOME ou encore env | grep HOME.

    dans le doute qu'est-ce que ça te coute de mettre le chemin en dur ? si ta clé est stockée dans /opt/toto/coincoin ça servira à rien d'utiliser $HOME de toutes façons, le but c'est de comprendre le tutoriel et d'adapter...

    est-ce que ça marchera aussi pour un script utilisant scp ? (transfert d'un dump de BDD).
    il faudrait vérifier mais il me semble que non, la commande étant restreinte à rrsync sur la machine distante, celle-ci va bloquer scp à mon avis, mais il existe des alternatives comme rssh qui permet de spécifier dans un fichier de configuration qu'on souhaite autoriser à la fois rsync et scp/sftp par exemple (je te laisse investiguer ce point par toi-même c'est bon pour c'que t'as )

    mais là encore, quel est l'intérêt d'utiliser rsync pour (...) disons copier le site web, et scp pour copier la db ? à l'intuition je doute que la différence entre les deux soit prépondérante dans ton cas, pourquoi ne pas simplement utiliser rsync pour les deux ? ou bien scp pour les deux ? selon le cas la façon de restreindre la clé ssh sera un peu différente (à peine) mais la restreindre convenablement est une obligation

    d'autres liens qui décrivent la même procédure (basée sur rrsync), en français, trouvés sur ce truc formidable qu'est google


    ho hisse !

Discussions similaires

  1. tâche cron et lancement de script
    Par ddelec24 dans le forum 1&1
    Réponses: 3
    Dernier message: 22/04/2010, 11h02
  2. Comment spécifier une tâche cron ?
    Par Nibor dans le forum Administration système
    Réponses: 8
    Dernier message: 06/11/2007, 23h03
  3. Configuration d'une tâche Cron
    Par Rajhonson dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 21/12/2006, 16h00
  4. [SimpleXML] Problème SimpleXML et tâche CRON
    Par Bobtop dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/12/2006, 03h30
  5. recherche service gratuit de tâches cron
    Par php_de_travers dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 13/11/2005, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo