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édentesRévision précédente
Prochaine révision
Révision précédente
utilisateurs:ool:brouillon [Le 03/10/2012, 14:08] 0olutilisateurs:ool:brouillon [Le 31/08/2017, 18:11] (Version actuelle) – supprimée 0ol
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]]. 
- 
-===== 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. 
- 
-<note> 
-Si vous avez plusieurs clients vous pouvez utiliser le très pratique [[:cssh]] 
-</note> 
-== 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]]