6.4 — SSH, SCP et rsync
SSH permet d'administrer une machine distante de manière chiffrée. SCP copie des fichiers via SSH et rsync synchronise efficacement des arborescences.
Se connecter en SSH
ssh utilisateur@serveur.example
ssh -p 2222 utilisateur@serveur.example
ssh utilisateur@192.168.1.20
Exécuter une commande distante :
ssh utilisateur@serveur.example 'hostname && uptime'
Créer une clé moderne
ssh-keygen -t ed25519 -a 64 -C "alex-poste"
ssh-copy-id utilisateur@serveur.example
Tester ensuite la connexion avant de désactiver une authentification par mot de passe.
Permissions recommandées :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/authorized_keys
Ne jamais partager la clé privée id_ed25519.
Copier avec scp
scp rapport.pdf utilisateur@serveur:/srv/documents/
scp utilisateur@serveur:/var/log/app.log .
scp -r dossier/ utilisateur@serveur:/srv/sauvegarde/
Synchroniser avec rsync
Simulation locale :
rsync -avhn source/ destination/
Exécution :
rsync -avh --progress source/ destination/
rsync -avh --progress source/ utilisateur@serveur:/srv/destination/
La barre finale change le sens :
rsync -avh source/ destination/ # contenu de source
rsync -avh source destination/ # dossier source lui-même
Synchronisation miroir avec suppression :
rsync -avhn --delete source/ destination/ # toujours simuler
rsync -avh --delete source/ destination/
--delete supprime dans la destination ce qui n'existe plus dans la source. Vérifier les chemins et la simulation avant l'exécution.
Diagnostic SSH
ssh -v utilisateur@serveur.example
ssh -G serveur.example | less
Vérifier côté serveur :
sudo systemctl status ssh
sudo ss -ltnp 'sport = :22'
sudo journalctl -u ssh -n 100
Sur Fedora ou Arch, le service peut s'appeler sshd. Une empreinte d'hôte modifiée doit être vérifiée auprès de l'administrateur avant de supprimer l'ancienne entrée de known_hosts.