Configuration d’un client backuppc linux avec rsync (simple user)

Configuration d'un client backuppc sous Linux avec rsync (pour un simple user)

Dans la suite des tutoriels sur backuppc, voici le billet sur le paramétrage d’un client sous linux et plus précisément uniquement pour le dossier home de l’utilisateur. Car en effet un simple utilisateur n’aura pas les droits nécessaires pour faire des sauvegardes et des restaurations dans des dossiers comme /boot, /var, etc. On va donc commencer par voir le principe de fonctionnement de backuppc pour se connecter à votre ordinateur client. En fait c’est très simple il s’agit d’une connexion via ssh en utilisant une paire de clé qui permettra de s’affranchir de rentrer un login et un mot de passe au serveur backuppc, et donc que tout puisse être automatiser. Si vous désirez en savoir plus sur ssh, j’avais fais précédemment deux articles sur le sujet, allez voir cette page.

 

Pour illustrer le tutoriel je vais prendre l’exemple suivant :

Sur backuppc serveur :

adresse ip : 192.168.0.20

compte utilisateur : nierdz

Sur backuppc client :

adresse ip : 192.168.0.30

compte utilisateur : bobby

dossiers à sauvegarder : /home/bobby/temp1 et /home/bobby/temp2

 

On va donc commencer par la création des clés coté serveur pour l’utilisateur backuppc, car c’est lui qui devra pouvoir se connecter automatiquement a votre client.

Sur le serveur :

passage en root :

 

$ su

ou pour les ubunteros

 

$ sudo su

puis on passe sur l’utilisateur backuppc :

 

# su backuppc

ensuite on genère les clés :

 

$ ssh-keygen -t rsa

Vous tapez sur la touche entré pour chaque question et ne rentrez surtout pas de passphrase. Si tous c’est bien déroulé vous devriez avoir vos clés dans /var/lib/backuppc/.ssh

On va ensuite copié la clé publique dans un dossier qui sera accessible depuis le pc client. Pour cela vous devez donc avoir un utilisateur sur votre serveur sur lequel on pourra accéder via ssh depuis le client. Pour l’exemple on va dire que l’utilisateur sur le serveur se nomme nierdz. On va donc coller la clé publique dans son dossier home pour pouvoir y avoir accès via le pc client en ssh. (vous suivez? :) )

 

Mais pour pouvoir coller la clé dans le dossier de notre ami nierdz il faut être root car backuppc n’a pas les droits en écriture dans le dossier /home/nierdz. On repasse donc en root :

 

$ su

ou pour les ubuntu users

 

$ sudo su

Puis on copie la clé :

 

# cp /var/lib/backuppc/.ssh/id_rsa.pub /home/nierdz

Et pour finir on va donner les droits à nierdz sur cette clé :

 

# chmod 777 /home/nierdz/id_rsa.pub

Ensuite on va passer sur le pc client pour récupérer la clé publique. Mais avant tout il faut bien penser à être loguer avec le compte utilisateur qui correspond au dossier que l’on veut sauvegarder. Dans notre exemple on va dire que le dossier en question est /home/bobby et que l’utilisateur est donc bobby. Et il faut également penser à installer ssh (client et serveur) (le client sert durant l’installation et le serveur sert pour backuppc) :

 

$ su

ou pour les ubunteros toujours :

 

$ sudo su

et on installe ssh :

 

# apt-get install ssh

Ensuite se logue sur bobby :

 

# su bobby

et on se met dans son dossier tant qu’a faire :

 

$ cd ~

Et on va chercher la clé que l’on a copié sur le dossier home sur le serveur :

$ scp nierdz@192.168.0.20:/home/nierdz/id_rsa.pub .

Attention il ne faut surtout pas oublier le point à la fin de la ligne de commande qui est précédé d’un espace. Le serveur est à remplacer par l’adresse ip du serveur. Et si vous ne vous êtes jamais connecté sur le serveur en ssh il va vous être demander de taper yes (ou oui selon la localisation de votre OS) pour authentifier le serveur. Puis vous devez simplement entrer le password de nierdz (votre utilisateur sur le serveur) pour télécharger la clé publique.

 

Ensuite on va copier la clé dans authorized_keys pour que la connexion de backuppc soit automatisée.

 

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

Ensuite on va aller sur le serveur pour effectuer une première connexion afin de ne pas avoir à remplir le fichier /etc/backuppc/.ssh/know_hosts à la main. Laissons debian le faire pour nous. Pour cela il faut effectuer un première connexion avec l’utilisateur backuppc sur le pc client et accepter d’authentifier le serveur ssh (dans notre cas il s’agit donc du client backuppc, et oui c’est tordu :) ).

 

Sur le serveur on commence par passer en root :

 

$ su

ou toujours pour les mêmes :) :

 

$ sudo su

Puis on se connecte avec backuppc :

 

# su backuppc

Et là une étape primordiale car si cela ne fonctionne pas il est inutile d’aller plus loin, c’est que vous avez déconné quelques part…

$ ssh bobby@192.168.0.30

Il faut remplacer 192.168.0.30 par l’adresse ip du pc client backuppc et bobby par le compte utilisateur du pc client. Et tapez yes ou oui pour authentifier le serveur.

Il ne vous reste plus qu’a créer un fichier de config du nom de votre host client que vous placerez dans le dossier /etc/backuppc.

 

Voici un exemple de fichier de configuration :

 

$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = [
'/home/nierdz/temp1',
'/home/nierdz/temp2'
];

 

On appellera ce fichier du nom du hostname du client. Par exemple si le client a un hostname qui est linuxhost vous devrez appeler ce fichier linuxhost.pl

Si vous ne savez pas quel est le hostname de votre pc client essayer la commande « hostname » dans un terminal, tout simplement.

Ensuite toujours sur le serveur on va éditer le fichier /etc/backuppc/hosts pour y ajouter notre nouveau client.

 

# nano /etc/backuppc/hosts

à la fin du fichier on ajoute

 

linuxhost 0 backuppc,bobby

 

Petite explication :

- linuxhost correspond au hostname de votre pc client

- 0 signifie qu’il a une adresse fixe (que l’on déclarera par la suite dans le fichier /etc/hosts du serveur)

- backuppc signifie que l’utilisateur backuppc peut effectuer des opérations sur linuxhost via l’interface web de backuppc

- bobby est l’utilisateur à qui vous donnez les droits de faire des sauvegardes et restaurations sur le client linuxhost. Il est à noter qu’il n’y a aucun rapport avec le nom de l’user sur le client. On aurait très bien pu utiliser bob au lieu de bobby. Mais à ce moment il aurait fallu se connecter en tant que bob sur l’interface web de backuppc. (j’espère que vous suivez toujours :) )

 

On va d’ailleurs créer le user bobby sur le serveur si ce n’est pas déjà fait (car si vous avez suivi un minimum vous auriez déjà du faire cette manipulation durant l’installation de backuppc sur le serveur).

Création de bobby pour backuppc :

 

# htpasswd /etc/backuppc/htpasswd bobby

Ensuite on va indiquer l’adresse ip de notre client backuppc dans /etc/hosts

 

# nano /etc/hosts

et on ajoute en fin de fichier

 

192.168.0.30 linuxhost

Ensuite on relance backuppc :

/etc/init.d.backuppc restart

Étant donné que backuppc doit se connecter avec un compte utilisateur on va devoir lui spécifier dans l’interface. Rendez vous donc sur http://192.168.0.20/backuppc. Puis Sélectionner votre client>Modifier la configuration>Xfer. Et là vous allez changer les valeurs de RsyncClientCmd et RsyncClientRestoreCmd. Remplacez tous simplement root par le nom du compte de votre client. Dans mon exemple je remplace donc root par bobby dans les deux valeurs.

 

Il ne vous reste plus qu’a relancer votre serveur backuppc :

/etc/init.d/backuppc restart

 

Et vous pouvez faire un test pour voir si tout fonctionne. Si vous rencontrez des difficultés ou que vous voulez corriger ou compléter mon billet, n’hésitez pas à laisser un commentaire.

 

24 réponses à “Configuration d’un client backuppc linux avec rsync (simple user)”

  1. Laurent dit :

    Bonjour,
    J’ai fais toutes les manip expliquée et je ne parviens toujours pas à lancer la sauvegarde sur mon client.
    Monserveur est sous ubuntu mon client aussi le ssh fonctionne entre les deux machines, le retour d’erreur est :

    full backup started for directory /home/laurent/
    Running: /usr/bin/ssh -q -x -l root 192.168.0.5 /usr/bin/rsync –server –sender –numeric-ids –perms –owner –group -D –links –hard-links –times –block-size=2048 –recursive –ignore-times . /home/laurent/
    Xfer PIDs are now 6760
    Read EOF: Connection reset by peer
    Tried again: got 0 bytes
    Done: 0 files, 0 bytes
    Got fatal error during xfer (Unable to read 4 bytes)
    Backup aborted (Unable to read 4 bytes)
    Not saving this as a partial backup since it has fewer files than the prior one (got 0 and 0 files versus 0)

    Mes deux machines ont la même architecture …
    Une aide serait la bienvenue !
    La sauvegarde locale fonctionne sur le serveur.
    Merci

  2. Adrien dit :

    Bonjour Laurent,

    J’ai eu le même problème que toi, en fait il semblerait que backuppc essai de se connecter en root sur le pc client, il faudrait que tu te connectes sur le pc client et que tu récupéres la clef comme indiquée plus haut:
    scp user@192.168.0.20:/home/user/id_rsa.pub .

    tu es connecté en tant que root:
    cat id_rsa.pub > ~/.ssh/authorized_keys

    tu auras la clef plublique aussi pour l’utilisateur root.

    relance le backup depuis le cgi backuppc

    Ca a marché pour moi

  3. MaT dit :

    Bonjour,
    Pour ma part ça ne fonctionne pas.
    J’essaie de mettre en place un backuppc qui devra faire une savegarde d’un autre serveur
    Les 2 serveurs utilisés sont des Debian Lenny

    sur mon backuppc j’ai effectué :
    su – backuppc
    ssh-keygen -t rsa
    Copierl a clé sur mon serveur à sauvergarder ; j’arrive à me connecter en ssh dessus…

    Ensuite j’ai ajouté sur le serveur à sauvegarder dans le fichier /etc/hosts
    @IP_du_serveur_backuppc hostname

    Idem sur le serveur de backup ; les ping passent bien entre les 2 serveurs

    Sur l’interface web backuppc j’ai ajouté mon serveur et passé dans la configuration :
    XferMethod : rsync

    Et quand je lance une sauvegarde j’ai ceci :
    2009-11-10 14:28:21 Got fatal error during xfer (Unable to read 4 bytes)

    Dernière information j’ai modifié le fichier de configuration et changer cette variable comme suit :
    /etc/backuppc/config.pl
    $Conf{TopDir} = ‘/data/backuppc’;

    Puis j’ai effectué un :
    # chown -R backuppc:backuppc /data/backuppc/

    Merci pour votre aide

  4. MNT-Tech dit :

    Et je reconfirme la soluce d’adrien.
    Quand tu as ce message d’erreur c’est que backuppc n’arrive pas à se connecter en SSH au serveur.
    Pour vérifier que le ssh fonctionne, il faut que tu passe en user backuppc et que tu tentes de te connecter à ton client. Et dans ta situation je pense que ça ne passe pas.
    PS : pour passer en user backuppc il faut d’abord faire su puis su backuppc.

  5. harry dit :

    euh moi le probleme est un peu diferent quand je lance un backup via rsync le backup se lance consomme tout le cpu du serveur on voit bien la commande tourne sur le serveur comme client mais rien d autre ne se passe des jour durant !

  6. MNT-Tech dit :

    @harry réponse très tardive, mais réponse quand même :) . bon j’espère que tu as résolu ton problème, mais sinon je te conseillerai de tout simplement réinstaller backuppc sur le serveur et si ça ne fonctionne pas de changer de version et si ça ne fonctionne toujours pas de le compiler à la mano.

  7. Jamal dit :

    Bonjour,

    Un grand merci pour ce tuto sur lequel je me suis appuyé afin de configurer backuppc. Malheureusement, j’ai un soucis dont je n’arrive pas à bout.
    Après avoir configuré mon serveur (Debian Lenny) et mon client (Ubuntu Koala), quand je lance la sauvegarde via l’interface html de backuppc, j’obtiens cette erreur :
    full backup started for directory /tmp
    Aborting backup up after signal PIPE
    Got fatal error during xfer (No files dumped for share /tmp)
    Je ne comprend pas d’où vient le problème, par vance merci de votre aide.

  8. raptor45 dit :

    Bonjour,

    J’ai déjà mis en place BackupPC grâce à ce tuto, j’avais réussi. Mais hier, j’ai réessayé et impossible : je n’arrive pas à sauvegarder le client !

    J’arrive bien à me connecter en ssh sur le client à partir du serveur.
    J’ai bien réussi à récupérer la clé avec la commande scp nierdz@192.168.0.20:/home/nierdz/id_rsa.pub .

    Par contre, je n’arrive à copier le contenu d’id_rsa.pub dans le fichier authorized_keys. En effet, ce fichier authorized_keys, je ne l’ai pas ! Pouvez-vous me dire s’il faut le créer ce fichier ou bien s’il devrait déjà être créé ? Et où faut-il qu’il soit ?

    Sinon, en lançant la sauvegarde par l’interface web de BackupPC, j’ai cette erreur:
    « Xfer PIDs are now 23942
    Got remote protocol 1881173838
    Fatal error (bad version): No protocol specified

    Read EOF:
    Tried again: got 0 bytes
    fileListReceive () failed
    Done: 0 files, 0 bytes
    Got fatal error during xfer (fileListReceive failed)
    Backup aborted (fileListReceive failed)
    Not saving this a partial backup since it has fewer files than the prior one »

    Je vous remercie beaucoup d’avance pour votre aide, vraiment.
    C’est important pour moi.

    ++

  9. raptor45 dit :

    J’ai un autre message d’erreur:

    « full backup started for directory /home/clientssh/test
    Running: /usr/bin/ssh -q -x -l clientssh 192.168.1.1 /usr/bin/rsync –server –sender –numeric-ids –perms –owner –group -D
    Xfer PIDs are now 23981
    Got remote protocol 1881173838
    Fatal error (bad version): No protocol specified

    (ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0

    Read EOF:
    Tried again: got 0 bytes
    fileListReceive () failed
    Done: 0 files, 0 bytes
    Got fatal error during xfer (fileListReceive failed)
    Backup aborted (fileListReceive failed)
    Not saving this a partial backup since it has fewer files than the prior one »

    C’est donc cette ligne « (ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0″ qui s’est rajoutée … Que puis-je faire svp ?

    Merci.

  10. raptor45 dit :

    En fait, ce message (ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0, c’est parce que j’ai fait un test en mettant l’utilisateur « backuppc » au lieu de mettre l’utilisateur « accesssh », je comprends pas tout …

    Pouvez-vous m’aider svp ?

  11. raptor45 dit :

    Désolé pour le dérangement mais j’ai réussi !!

    Je me suis connecté sur le client à partir du serveur en ssh. Ensuite, j’ai fait cette commande:

    cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys

    Dans l’interface web, dans le menu xfer de ma machine, j’ai remplacé root par clientssh, j’ai relancé BackupPC, j’ai relancé la sauvegarde et … miracle ! :) Ca fonctionne !

    Pouvez-vous quand même me dire si cette commande cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys doit être faite comme je l’ai fais, c’est à dire : se connecter en ssh à partir du serveur vers le client et exécuter cette commande qui va créer le fichier authorized_keys dans le /home/clientssh/.ssh/ du client ? Est-ce bien cela ?

    Car moi je comprenais qu’il fallait se connecter en ssh à partir du client vers le serveur, exécuter la commande scp … et exécuter la commande cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys toujours à partir du client! Mais apparemment ce n’est pas ça ?

    Merci pour vous éclaircissements. J’aimerai savoir pour que ce soit clair dans ma tête.

    ++

    • mnttech dit :

      @raptor45 Salut, tu dois pouvoir te connecter sur le client depuis le serveur.
      En fait c’est logique car c’est bien le serveur qui se connecte à ton client pour récupérer les données à sauvegarder.
      Relis bien le tutoriel et prends ton temps pour exécuter chaque commande en prenant le temps de comprendre ce que tu fais. Tu verra que tout est logique et ça ira beaucoup mieux.
      Désolé pour la réponse un peu tardive, peut-être as-tu déjà résolu ton problème…

  12. scorpio dit :

    Bonjour,
    au moment ou je tapes « $ cat id_rsa.pub >> ~/.ssh/authorized_keys » sur le poste client distant il me dit erreur near token »& » je ne vois pas ce que c’est et en retirant >> il me donne une autre erreur comme quoi authorized_keys n’existe pas…

    Need some help mercii beaucoup d’avance

  13. scorpio dit :

    Re moi je viens de me rendre compte de ma bêtise cependant la deuxième erreur est toujours présente il faut donc que j’en crée un?

    Encore merci

  14. mnttech dit :

    Alors si je comprends bien tu as tapé ça : cat id_rsa.pub ~/.ssh/authorized_keys ???
    Car si tu as fais ça c’est inutile. Si il te dit que le fichier authorized_keys n’existe pas tu dois d’abord le créer.
    Tu tapes :
    touch ~/.ssh/authorized_keys
    et ensuite tu pourra taper :
    cat id_rsa.pub >> ~/.ssh/authorized_keys

    Le mieux pour suivre un tuto est d’essayer de comprendre ce que l’on fait et pas de taper bêtement ce qui est indiqué. Le >> permet d’envoyer la sortie du cat dans le fichier ~/.ssh/authorized_keys sans écraser ce qu’il y avait dedans. Si tu le retires, tu n’ajoutes pas ta clé dans le fichier, tu ne fais donc rien.

  15. scorpio dit :

    Oui mais sa je m’en suis rendu compte après car sur mon ordinateur >> s’était transformé en >>
    Et j’ai tapé sa car il me disait qu’il y avait un problème avec token etc…

    C’est dans mon deuxième test ou la j’ai retapé correctement ce qu’il fallait.

    Une autre question sinon je paramètres une sauvegarde distante et je m’y perds pas mal. Pour le moment j’ai mis en place une autre sauvegarde mais j’aurais aimé approfondir celle ci qui a l’air d’être pas mal…

  16. mnttech dit :

    ??? Kesskidi?

    Relis toi stp, j’ai beau lire et relire je ne pige rien.

    En tout cas, grâce à toi j’ai vu que wordpress mettait automatiquement un espace entre deux ‘>’. J’ai également vu que tiny-mce faisait déconner l’encodage de ce caractère que j’ai donc corrigé et qui s’affiche correctement dans le tutoriel.

  17. scorpio dit :

    Ce que je disais et qu’a automatiquement corriger wordpress c’est que en gros je voyais « & g t » tout attacher, pour pas que j’ai l’air d’un crétin encore une fois :S, au lieu de « > »
    Sinon je réessaye le protocole SSH et ce n’est pas clair je crée ma clé rsa tout fonctionne. Ensuite je me connecte en ssh au serveur distant pour copier cette clé et à ce moment là… il met trop de temps.
    Que faire j’ai bien taper ma commande et il se fige…
    Sinon en quoi le point final à son importance?

    Je suis en alternance c’est mes débuts je dois apprendre sur le tas et mon patron penses que je suis le génie de la lampe… Mais je n’arrives pas à allumer mon ampoule donc bref.

    Merci pour vos réponses

    • mnttech dit :

      Lol, ouais tu fais bien de préciser car entre temps j’ai modifié le & g t!
      Pour la clé à copier tu n’as peut-être pas les droits suffisants dans le dossier où tu veux la coller.
      Sinon le point est important car sinon ça marche pas! :)
      Bah demande lui des sous pour allumer ta lampe, tu verra, des sous ça permet toujours d’allumer les lampes… ;)

      PS : si tu galères avec scp tu peux aussi utiliser une bonne vieille clé usb si tu a un accès physique à la machine.

  18. oumar dit :

    stl ,pour etre bref voici les erreurs que j’ai trouvé dans le fichier de LOG
    merci pour une réponse à ce probeme .Je n’arrive pas à faire une sauvegarde pour mes postes client linux et windows alors que j’ai suivi à la lettre ce tutoriel.
    je pense que ma configuration est bonne car localhost a été sauvegardé

    2010-0Backup number for host seydina-desktop does not exist.
    8-02 10:00:01 Can’t find host pc-de-saes via netbios

  19. chaker dit :

    salut a tout

    j’ai tu fait … la connection entre le serveur de sauvgarde est les postes client (linux ubuntu ) établer… tout l’air bien … Mais la souvgarde ne déclanche pas automatiquement … et j’ai pas remarque que les sauvgardes sont incrimenté …
    plz ou est l’erreure

  20. Mcdenc dit :

    Bonjour,

    Nous avons mis Backuppc en place dans notre Société.
    Cela fonctionne en grande partie

    En revanche je ne m’explique tjrs pas pourquoi lors de certaine mise en place…
    La sauvegarde tourne pendant de jours et ne sauvegarde rien, les authentifications se faut bien , on voit bien les process rsync apparaître sur le serveur Backuppc et le client.
    Mais pas de retour d’erreur autre.
    la sauvegarde est en erreur lorsque je la stop manuellement.

    Es qu’il y a quelque retour d’expérience sur ce genre d’incident ?
    qu’es qui pourrait clocher ??

    en vous remerciant

  21. mnttech dit :

    Nan pas eu ce genre de couille avec bpc. Par contre il s’agit peut-être de droit sur les fichiers ? (oui je sais, la réponse arrive tard mais ce blog est un peu le truc que je viens consulter quand j’ai le temps)

Laisser un commentaire