Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:ool:brouillon [Le 03/10/2012, 14:19]
0ol
— (Version actuelle)
Ligne 1: Ligne 1:
-===== Sauvegarder un poste Linux distant via rsync (ssh) ===== 
  
-La sauvegarde se faisant au travers de [[:ssh]], il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​openssh-server|openssh-server]]** sur le poste à sauvegarder. 
- 
-De plus, il est nécessaire que l'​utilisateur Backuppc puisse se connecter en SSH sur les postes clients.\\ 
-Pour se faire, vous pouvez utiliser la méthode standard que vous trouverez [[http://​backuppc.sourceforge.net/​faq/​ssh.html|ici]] qui utilise le compte [[:root]] désactivé par défaut sur Ubuntu.\\ 
-Cependant, la méthode suivante, utilisable pour toute distribution ayant [[:​sudo|sudo]],​ qui vous permettra de ne pas avoir besoin d'​activer le compte root ni de lui autoriser des connexions via [[:SSH]]. 
- 
-<​note>​ 
-Si vous avez plusieurs clients vous pouvez utiliser le très pratique [[:cssh]] 
-</​note>​ 
- 
-==== Méthode standard ==== 
-Plus simple à mettre en place. 
- 
-{{:​image:​backuppc:​backuppc-rsync-root.png?​nolink&​400|}} 
- 
-=== Manipulations sur le serveur de sauvegarde.=== 
-  * Passer en utilisateur "​backuppc"​ <​code>​sudo -i -u backuppc</​code>​ 
-  * Mettez en place un système de [[:​ssh#​authentification_par_un_systeme_de_cles_publiqueprivee|clé publique/​clé privée]] à savoir: 
-    * Générer le couple clef publique et clef privée sans mettre de mot de passe <​code>​ssh-keygen -t rsa -b 2048</​code>​ 
-    * Vérifier que la clé est bien générée <​code>​cat ~/​.ssh/​id_rsa.pub</​code>​ 
-    * et que ses droits sont corrects <​code>​ls -la ~/​.ssh/</​code><​code>​drwxr-xr-x 2 backuppc backuppc 4096 2011-07-17 17:19 . 
-drwxr-x--- 8 backuppc backuppc 4096 2011-07-21 13:57 .. 
--rw------- 1 backuppc backuppc 1671 2011-07-17 17:10 id_rsa 
--rw-r--r-- 1 backuppc backuppc ​ 397 2011-07-17 17:10 id_rsa.pub 
--rw-r--r-- 1 backuppc backuppc 4862 2011-07-17 19:58 known_hosts</​code>​ Si les [[:droits]] ne sont pas corrects, utiliser la commande **chmod** pour [[:​permissions#​en_ligne_de_commande|modifier les permissions]] 
- 
- 
-=== Manipulations sur les postes clients.=== 
-== Placer la clef publique== 
-  * Créer le répertoire **/​root/​.ssh** si il n'​existe pas encore. 
-  sudo mkdir /root/.ssh 
-  * [[:​tutoriel:​comment_modifier_un_fichier|Editer le fichier]] **/​root/​.ssh/​authorized_keys** avec les droits d'​administration <​code>​ sudo vim /​var/​backups/​.ssh/​authorized_keys </​code>​ 
-  * Ajouter dans le fichier, la clef publique de l'​utilisateur "​backuppc"​ [[#​Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:​fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur** de backup__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/​coller.)//​ 
-  * Pour plus de sécurité, rajouter au début du fichier la directive <​file>​from="​serveur"</​file>​ 
-  * Vous devriez désormais avoir: ​ 
-  * Sous le compte root 
-<​code>​ 
-sudo -i 
-cat ~/​.ssh/​authorized_keys 
-from="​serveur"​ ssh-rsa AAAAB3N123456789xyz.......== backuppc@serveur 
-</​code>​ 
- 
-== Configuration de sshd== 
-[[:​tutoriel:​comment_modifier_un_fichier|Modifier avec les droits d'​administration]] le fichier **/​etc/​ssh/​sshd_config** 
-<file bash **/​etc/​ssh/​sshd_config**>​ 
-PermitRootLogin without-password 
-</​file>​ 
-Avec cette directive les connexions SSH de **root** ne seront pas possible avec un mot de passe (qui par défaut ​ n'est pas utilisé sous Ubuntu) 
- 
-Seul les connexions utilisant une authentification par clef seront possible, et uniquement de l'​adresse du serveur si la directive ''​from=''​ est utilisée dans le fichier ** authorized_keys**. 
- 
-Il sera donc possible de paramétrer indépendamment les possibilités d'​authentification via SSH des autres utilisateurs. Il ne faudra cependant pas oublier d'​ajouter **root** en cas d'​usage des directives ''​AllowUsers''​ ou ''​AllowGroups''​. 
- 
-=== Test de connexion SSH=== 
-Depuis le __serveur__ de sauvegarde, tenter une première connexion ssh vers le poste à sauvegarder pour l'​utilisateur "​backuppc"​. 
-<​code>​ 
-sudo -i -u backuppc 
-ssh root@client</​code>​ 
-Répondre "​yes",​ ce qui ajoutera votre client à la liste des //known hosts//​((hôtes connus)). 
- 
-==== Méthode avec sudo ==== 
- 
-{{:​image:​backuppc_rsync.png?​400nolink|}} 
- 
-=== Manipulations sur le serveur de sauvegarde=== 
-Cette partie est commune ​ à la [[#​Manipulations_sur_le_serveur_de_sauvegarde.|méthode standard]] 
-=== Manipulations sur les postes clients=== 
-Nous allons utiliser le compte "​backup"​. Ce compte est pré-existant sous Ubuntu selon la norme [[wpfr>​Filesystem_Hierarchy_Standard|FHS ]]. Comme on peut le voir dans ** /etc/passwd **, le répertoire personnel de cet "​utilisateur"​ est /​var/​backups. 
- 
- 
-== Placer la clef publique.== 
-Pour chacun des clients: 
-  * Créer le répertoire **.ssh** dans le Dossier Personnel <​code>​sudo mkdir /​var/​backups/​.ssh</​code>​ 
-  * [[:​tutoriel:​comment_modifier_un_fichier|Editer le fichier]] **/​var/​backups/​.ssh/​authorized_keys** avec les droits d'​administration <​code>​ sudo vim /​var/​backups/​.ssh/​authorized_keys </​code>​ 
-  * Ajouter dans le fichier, la clef publique de l'​utilisateur "​backuppc"​ [[#​Manipulations sur le serveur de sauvegarde|précédemment générée]] ((donc visible dans le fichier **id_rsa.pub** du [[:​fichier_caché|répertoire caché]] **.ssh** dans le __Dossier Personnel du **serveur**__)). //(Vous pouvez par exemple éditer les deux fichiers et  faire un simple copier/​coller.)//​ 
-  * Pour plus de sécurité, rajouter au début du fichier la directive <​file>​from="​serveur"</​file>​ 
-  * Vous devriez désormais avoir: ​ 
-  * Sous le compte backup 
-<​code>​ 
-sudo -i -u backup ​ 
-cat ~/​.ssh/​authorized_keys 
-from="​serveur"​ ssh-rsa AAAAB3N123456789xyz.......== backuppc@<​serveur>​ 
-</​code>​ 
- 
-== Configuration de sshd.== 
- 
-[[:​tutoriel:​comment_modifier_un_fichier|Modifier avec les droits d'​administration]] le fichier **/​etc/​ssh/​sshd_config** pour indiquer qu'il n'y pas besoin d'​autoriser root, ni des connexions par mot de passe pour vos sauvegardes. 
-<file bash /​etc/​ssh/​sshd_config>​ 
-PermitRootLogin no 
-</​file>​ 
- 
-== Configuration de sudo.== 
- 
-À l'aide de [[:​sudoers|visudo]] mettez dans le fichier sudoers : 
-<file bash> 
-backup ALL=NOPASSWD:​ /​usr/​bin/​rsync 
-</​file>​ 
- 
- 
-Ceci donnera à l'​utilisateur "​backup"​ le droit [[:sudo]] pour lancer [[:rsync]] sans demande de mot de passe. 
- 
-Pour pouvoir mener à bien cette opération, il faut revenir à un utilisateur qui ait les droits sudo, en fait à l'​utilisateur que vous étiez avant de passer à l'​utilisateur backup. 
-Pour cela : 
-<​code>​exit</​code>​ 
-puis simplement : 
-<​code>​sudo visudo</​code>​ 
- 
- 
-=== Test de connexion SSH=== 
- 
-Depuis le __serveur__ de sauvegarde, tenter une première connexion ssh vers le poste à sauvegarder pour l'​utilisateur "​backuppc"​. 
-<​code>​ 
-sudo -i -u backuppc 
-ssh backup@<​client></​code>​ 
-Répondre "​yes",​ ce qui ajoutera votre client à la liste des //known hosts//​((hôtes connus)). 
- 
-<​note>​ 
-En cas d'​erreur SSH vous pouvez rendre la commande plus volubile avec l'​option -v de **ssh**. 
-Regarder aussi ** /​var/​log/​syslog ** sur le poste à sauvegarder. 
-Dans tous les cas jeter un œil sur la page consacrée à [[:ssh]]. 
-En cas de blocage suite à la réinstallation du poste à sauvegarder,​ la partie traitant de la [[:​ssh#​Gestion_des_clés|gestion des clefs]] vous sera sûrement d'une grande aide. 
-</​note>​ 
- 
-=== Paramétrer l'​usage de ce compte par backuppc === 
- 
-==  Par l'​interface Web== 
-//onglet **Xfert** -> pour **rsync** -> chapitre **Chemins/​Commandes/​Args Rsync** // indiquer pour: 
-  * ** RsyncClientCmd ** <​file>​$sshPath -q -x -l backup $hostIP /​usr/​bin/​sudo $rsyncPath $argList+</​file>​ 
-  * ** RsyncClientRestoreCmd ** <​file>​$sshPath -q -x -l backup $hostIP /​usr/​bin/​sudo $rsyncPath $argList+ </​file>​ 
- 
-== Depuis le fichier « /​etc/​backuppc/​config.pl » == 
-[[:​tutoriel:​comment_modifier_un_fichier|Modifier avec les droits d'​administration]] le fichier ** /​etc/​backuppc/​config.pl/​** comme suit : 
-<file perl  /​etc/​backuppc/​config.pl>​ 
-# $Conf{RsyncClientCmd} = '​$sshPath -q -x -l root $hostIP $rsyncPath $argList+';​ 
-$Conf{RsyncClientCmd} = '​$sshPath -q -x -l backup $hostIP /​usr/​bin/​sudo $rsyncPath $argList+';​ 
-# $Conf{RsyncClientRestoreCmd} = '​$sshPath -q -x -l root $hostIP $rsyncPath $argList+';​ 
-$Conf{RsyncClientRestoreCmd} = '​$sshPath -q -x -l backup $hostIP /​usr/​bin/​sudo $rsyncPath $argList+';​ 
-</​file>​ 
- 
----- 
-[[:​utilisateurs:​Ool]] ​ 
  • utilisateurs/ool/brouillon.1349266792.txt.gz
  • Dernière modification: Le 03/10/2012, 14:19
  • par 0ol