SFTP (SSH File Transfer Protocol)
Transfert de fichiers sécurisé sur SSH. Standard pour les serveurs Linux.
Côté provider
Option A : Auth par mot de passe
Sur le serveur cible, assure-toi qu’un utilisateur existe et a un mot de passe :
sudo adduser rclone-user
sudo chown -R rclone-user:rclone-user /var/data
Le serveur SSH doit accepter PasswordAuthentication yes dans /etc/ssh/sshd_config.
Option B : Auth par clé SSH (recommandé)
- Génère une paire de clés sans passphrase :
ssh-keygen -t ed25519 -f rclone_ed25519 -N ""
- Copie la clé publique sur le serveur :
ssh-copy-id -i rclone_ed25519.pub user@serveur.example.com
- La clé privée (
rclone_ed25519) sera utilisée par rclone-ui.
Côté rclone-ui
| Champ | Description |
|---|---|
| Hôte | FQDN ou IP du serveur (ex. backup.example.com) |
| Port | Défaut 22 |
| Utilisateur | Login SSH |
| Mot de passe | À remplir si auth par password — laisse vide si tu utilises une clé SSH |
| Clé SSH (chemin) | Chemin absolu vers le fichier de clé privée dans le container backend |
Auth par clé SSH dans Docker
La clé privée doit être accessible depuis le container backend. Deux approches :
1. Volume monté
backend:
volumes:
- ./ssh-keys:/etc/rclone/keys:ro
environment:
# ...
Dans rclone-ui, mets Clé SSH (chemin) = /etc/rclone/keys/id_ed25519.
2. Secret Docker / Kubernetes
Si tu utilises Docker Swarm ou K8s, monte un secret au lieu d’un volume :
backend:
secrets:
- source: rclone_ssh_key
target: /etc/rclone/keys/id_ed25519
mode: 0400
Astuces
- –sftp-disable-hashcheck désactive les vérifications hash (gain de perf sur serveurs lents)
- –sftp-set-modtime=false si le serveur ne supporte pas
setstat - Pour les serveurs avec des hostkeys non standards, ajoute
--sftp-known-hosts-file /etc/ssh/known_hostsdans les options rclone
Voir la documentation rclone SFTP pour la liste complète.
Sécurité
Le champ Mot de passe est stocké comme champ sensible (BDD ou Secret Manager). Le champ Clé SSH (chemin) ne contient que le chemin — la clé elle-même doit être sécurisée au niveau du filesystem du container.
Conseil : utilise des clés Ed25519 dédiées à rclone, avec un user dédié sur le serveur cible et des permissions minimales (/var/data/...).