Projet

Général

Profil

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

Révision 3 (Christophe Martin, 20/09/2010 16:54) → Révision 4/10 (Christophe Martin, 20/09/2010 17:09)

h1. 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 Via une clef secrete appelée @register-key@ 

 Le script obtient le logon ssh secrète embarquée dans l'annuaire LDAP de l'utilisateur principal de l'ordinateur. 

 Le script fait une connexion ssh 
 * au serveur de sauvegarde, 
 * en utilisant le clef secrete @register-key@ 
 * vers paquet/application d'installation, le compte @backuppc@ 
 * client demande l'exécution d'une hypothétique commande de la forme OS:logon sur le serveur par un utilisateur particulier. 

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

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

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

 <pre> 
 success 
 </pre> 
 Sur la première ligne. 

 NB Tout autre réponse du serveur doit être considérée comme est 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@ » Puis 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@ » sauvagarde 
 * @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. 

 h1. exemple de commande et dialogue 

 <pre> 
 su bckpciuem -c "env SSH_AUTH_SOCK= ssh -x -a -i register-key -l backuppc dugong mac:cmartin" >"/tmp/resultat.$$" 2>&1 
 </pre> 
 Le serveur répond  
 <pre> 
 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" 
 </pre>