Synchronisation de serveurs par rsync/ssh

Salut,

Je sais que c’est la n-ième fois qu’un tel sujet est abordé ici mais je voudrais vous faire part d’un mécanisme que j’ai mis en place pour synchroniser deux machines.

Le but était de synchroniser un répertoire d’un serveur (nommé local) sur un autre serveur distant (nommé distant) toutes les 5mn.
J’ai choisi rsync, ssh et cron.

Sur local j’ai généré une clé ssh sans passphrase depuis mon utilisateur habituel (nommé toto), qui a aussi une clé à lui avec passphrase.

Côté distant j’ai créé un utilisateur (nommé user) avec un .ssh/authorized_keys contenant la clé de toto@local avec les options suivantes :

Ce qui limite l’utilisation de la clé seulement depuis 10.1.1.1 et des commandes accessibles par ssh.
Dans mon validate rsync j’ai mis ça :

#!/bin/sh

case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\(*)
echo "Rejected"
;;
*\{*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
*\<*)
echo "Rejected"
;;
*\`*)
echo "Rejected"
;;
*\|*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac 

J’ai trouvé cette méthode en lisant la doc sur le site officiel de rsync, elle se trouve là :
http://troy.jdmz.net/rsync/index.html

Bon ça fonctionne. Depuis local je me fait systématiquement jeter quand je me log par ssh sur distant en utilisant ma clé pour autre chose que du rsync.
Et d’un autre côté la synchronisation périodique se fait sans soucis.

Ce qui me chiffonne c’est que si ma machine local est compromise le méchant pirate aura accès à distant via du rsync et sur le compte user.
Je me demande de quelle manière sécuriser le compte user en dehors de le limiter à son home et en le sortant de groupes stratégiques.

Je remonte le fil, il était passé en deuxième page et j’attends quand même des avis.