Projet

Général

Profil

Actions

Communications client-serveur lors de l'installation » Historique » Révision 5

« Précédent | Révision 5/10 (diff) | Suivant »
Christophe Martin, 21/09/2010 07:01


Communications client-serveur lors de l'installation

Dans le principe :

Tout démarre sur le client.

L'application, le script de setup, le paquet contient une clef secrete appelée register-key

Le script crée si besoin un utilisateur local bckpciuem et lui donne les privilèges suffisantpour qu'il puisse faire les sauvegardes et les restaurations. Cetutilisateur a dans son home un script spécial appelé rsyncsend.sh

Le script obtient de manière interactive le logon de l'utilisateur principal de l'ordinateur (logon défini dans l'annuaire LDAP).

Le script fait une connexion ssh
  • au serveur de sauvegarde,
  • en utilisant le clef secrete register-key
  • vers le compte backuppc
  • demande l'exécution d'une hypothétique commande de la forme OS:logon

Le serveur exécute alors une commande spéciale associée à la clef secrete, sous le compte backuppc.

Cette commande récupère le paramètre OS:logon via la variable d'environnement SSH_ORIGINAL_COMMANDE, passée par sshd

Cette commande effectue alors toute une série de vérifications sur le client, l'OS demandé et le logon, etc... et si tout va bien répond :

success

Sur la première ligne.

NB Tout autre réponse du serveur doit être considérée comme un message d'erreur. L'ensemble de cette ligne et les suivantes constituent alors le message d'erreur.

Quand la première ligne est « success » viennent ensuite dans un ordre non spécifié des lignes de la forme mot-clef:valeur. pour l'instant sont définis les mots-clef suivants :
  • key Il s'agit de la clef publique correspondant à la clef privée utilisée par le serveur pour effectuer les sauvegardes. Cette clef devra être utilisée dans le fichier ~bckpciuem/authorized_keys pour affecter les connexions du serveur à la commande de backup/restauration « rsyncsend.sh »
  • url L'URL que l'utilisateur doit visiter pour personnaliser ses sauvegardes.

Le client analyse la réponse du serveur et prend les mesures qui s'imposent. Au minimum, la clef ssh publique doit être associée à la commande rsyncsend.sh de l'utilistaeur local bckpciuem

exemple de commande et dialogue

su bckpciuem -c "env SSH_AUTH_SOCK= ssh -x -a -i register-key -l backuppc dugong mac:cmartin" >"/tmp/resultat.$$" 2>&1

Le serveur répond
success
url: http://dugong.univ-brest.fr/backuppc/?host=dormeur
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEBV4umLQWumkHBgznsLNaNZn9pxkLpmPWO09Sqft7OFX/HUcfOF040nscxu7MyMI4Y8TzhMGDtMertYo+PdGTEfg1qyjPgUrH4xLoyiBJ6ygsZiw6YK7IsBPgmGXlHMgBciJnJMaNAyOvLIPxua34Nxp1QmY3i0hiqO/qU5jtIp4nXSFIIvd+1ql/kvO4GDKtSGsiEpgmduOxWX1Z9cYa/F0TAPScJ5cHIO6FmeePC8xIaBEsaunFQt3XfFydVCnap97YUY9gbN6tnUhmb3T9/W9LMkgm8CfR1cbZTSX6xcjs+Za/ALKizMvV6750eqczXqg+nUIjb5Rnf2F7W/0z backuppc server to client dormeur ssh key" 

Mis à jour par Christophe Martin il y a environ 14 ans · 5 révisions