Bonjour,
Le 23/08/2022 à 01:14, Xavier Belanger a écrit :
>
> - Solution numéro deux : ne pas utiliser de passphrase sur
> la clé SSH.
Personnellement, je serais un peu moins radical sur un tel sujet : En
effet, la clé SSH peut-être utilisé pour se connecter à d'autres
serveurs, qui peuvent nécessiter un niveau accrus de sécurité. Donc il
ne faudrait pas la laisser ouverte au quatre vents.
Si je reprends le besoin initial:
> J'ai un script bash de sauvegarde de mon PC qui est lancé par anacron
> et se connecte sur un serveur du réseau local en utilisant rsync.
Supposition 1: Odile veut backuper uniquement son compte utilisateur
(/home/odile/)
Proposition 1:
- créer un autre compte, "odilebackup", qui est dans le même groupe qu'Odile
- il faut que tout les fichiers / répertoires de /home/odile/ soient en
au moins en r-- / r-x pour le GROUPE
- le compte odilebackup a une clé SSH, sans passphrase, pour se
connecter au serveur
- le cron se lance avec le compte odilebackup, et non plus le compte root
- enfin, on désactive le mot de passe de odilebackup, en mettant un mot
de passe invalide dans le /etc/shadow. Cela revient à avoir :
# cat /etc/shadow
odilebackup:*:15774:0:99999:7:::
C'est le "*" après le ":" qui est important.
Cette protection assure que personne ne pourra utiliser le compte
"odilebackup" pour ouvrir un shell sur le PC. Seul le root pourra se
logger en tant que "odilebackup", via un "su odilebackup".
Supposition 2: Odile veut backuper tout son ordinateur, y compris les
zones où seul le root peut aller (comme par exemple certains
fichiers/répertoires du /etc/)
Proposition 2:
- le rsync devra être lancé par l'utilisateur root du PC
- le root pourra se créer une 2nd clé RSA, sans mot de passe, qui sera
utilisé exclusivement pour la connexion sur le serveur de backup
- la commande rsync est alors un peu spéciale, car il faut indiquer à
rsync d'utiliser une commande ssh particulière, qui elle-même utilisera
une clé ssh/rsa spécifique (-i /root/.ssh/id_rsa_SERVER). Exemple:
rsync -avp -e 'ssh -i /root/.ssh/id_rsa_SERVER' / user@SERVER:/YYYY/
Enfin, une autre approche, complètement différence de ci-dessus:
- A supposer que le serveur de backup soit dans un réseau local, ET
qu'Odile ne craint pas de se faire intercepter des données par sniffage
réseau, il est tout simplement possible de faire du rsync SANS passer
par du ssh. C'est le mode "rsync serveur" :
https://doc.ubuntu-fr.org/tutoriel/serveur_de_synchronisation_avec_rsync
A noter que l'accès à ce "rsync serveur" peut-être protégé par un mot de
passe. Voir à ce sujet le "man rsyncd.conf", et les paramètres "secrets
file" et "auth users".
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!