Principe : nous allons utiliser un container Docker qui hébergera le serveur SFTP. L'utilisateur provider de l'hôte hébergera les dossiers des utilisateurs du serveur SFTP du container. L'utilisateur provider pourra être accéder uniquement via une clé SSH préalablement autorisé. Les utilisateurs du serveur SFTP seront accessibles par mot de passe. Les dossiers chrootés des utilisateurs du serveur SFTP devront être accessible par l'utilisateur provider.
useradd provider --create-home --home-dir /home/provider/ --shell /bin/bash mkdir /home/provider/datamkdir /data/sftp-datachown provider:users /data/sftp-dataln -s /data/sftp-data /home/provider/datarsync -av ./bkp-srv/home/admin/docker/sftp/ admin@bkp-<region>-sinp:/home/admin/docker/sftp/ --dry-run
(si tout est ok, supprimer l'option --dry-run)
cd ~/docker/sftp/ssh-keygen -t ed25519 -f ssh_host_ed25519_key < /dev/nullssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key < /dev/null.env et le remplir : '' cp .env.sample .env ; vi .env ''users.conf. Voir ci-dessous la section consacrée.sudo -ichown provider:users ./*aptitude install filezillaHOST_SSH_PORT du fichier .env du container Docker SFTP configuré via l'utilisateur admin.SFTP_USER_NAME du fichier .env du container Docker SFTP configuré via l'utilisateur admin.SFTP_USER_PWD du fichier .env du container Docker SFTP configuré via l'utilisateur admin..env, nous allons utiliser un fichier users.conf.ssh admin@bkp-<region>-sinpcd ~/docker/sftpvi users.conf# Use this to encrypt password : echo -n "your-password" | docker run -i --rm atmoz/makepasswd --crypt-md5 --clearfrom=- # The "data" user must have the same ID (1003) as the user storing the data on the host system. # All users must have GUID 100. GUID 100 must be the "users" group GUID on host. data:<encrypted-data-user-password>:e:1003:100 data-reader:<encrypted-data-reader-user-password>:e:1004:100
echo -n "<mot-de-passe>" | docker run -i --rm atmoz/makepasswd --crypt-md5 --clearfrom=-vi docker-compose.ymlvolumes: - ./users.conf:/etc/sftp/users.conf:ro - /data/sftp-data:/home/data-reader
.env : SFTP_USER_NAME, SFTP_USER_PWDchown -R provider:users /home/provider/datadocker compose down ; docker compose up -d