C'est l'un de ces sujets qui - bien que Corny - vous avez souvent à faire face et discuter en profondeur, particulièrement quand vous commencez à travailler avec une nouvelle équipe. Je me réfère à la synchronisation automatique entre les procédures de scp les fichiers et / ou des répertoires sur deux serveurs, UNIX / Linux.

La logique est simple et la mise en œuvre prend moins d'une minute. Mais ... mais il ya beaucoup d'aspects secondaires qui encouragent l'adoption de cette approche dans certains cas seulement. Un de ces derniers est le gouffre de la sécurité entraînant l'ouverture complète à toute personne qui fournit la clé privée. En bref, il est tard et expliquer les risques de préjudice, nous voyons le cas et quelques instructions pour compléter l'ensemble.

Supposons que nous avons deux serveurs (et A.test.com B.test.com) et souhaitez conserver une copie exacte du répertoire / root / test en faisant un scp `à tous les soirs A.test.com B.test.com .

1. Générer une paire de clé privée / publique sur le serveur local A.test.com:

 
 ssh-keygen-t rsa 

Lorsque vous êtes invité pour un mot de passe, ne rien entrer de cette manière la session de l'scp `aura lieu sans aucune demande d'authentification. Si la clé privée tombe dans de mauvaises mains, cependant, le serveur est définitivement compromise. C'est pourquoi une solution comme celle-ci n'est valable que sur un intranet, entre un serveur et une sauvegarde principale, par exemple. Et en aucun cas une solution doit être prise uniquement pour les serveurs qui sont accessibles par le plus petit nombre de personnes possible.

2. Copiez la clé publique sur le serveur distant B.test.com

 
 . scp ~ / ssh / id_rsa.pub root@B.test.com: ~ 

3. Ajoutez la clé copié sur le serveur distant confiance keydel B.test.com
L'accès au serveur distant et accrocher la clé comme suit:

 
 cat ~ / id_rsa.pub>> ~ /. ssh / authorized_keys 

Dans le cas où le répertoire ~ /. Ssh / authorized_keys n'existe pas, signifie qu'il n'a jamais été n'importe quelle paire de clés générées par le serveur distant. Exécutez la commande "ssh-keygen-t rsa". Par mesure de sécurité, vous devriez vous assurer que seul le propriétaire de la clé utilisateur peut y accéder:

 
 chmod 600 ~ /. ssh / authorized_keys 

4. Test de mot de passe moins facilement accès aux A.test.com B.test.com

 
 ssh root@B.test.com 

L'accès est désormais sans demande de mot de passe.

5. Mettre l'éducation scp dans cron

 
 scp-r / root / test / * root@B.test.com: / root / test / 

Ne cherchez pas plus loin ...