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.
ssh admin@bkp-<region>-sinp
sudo -i
useradd provider --create-home --home-dir /home/provider/ --shell /bin/bash
mkdir /home/provider/.ssh ; chmod 700 /home/provider/.ssh
cp /home/admin/.ssh/authorized_keys /home/provider/.ssh/authorized_keys
chown -R provider: /home/provider/.ssh
mkdir /home/provider/data
mkdir /data/sftp-data
chown provider:users /data/sftp-data
ln -s /data/sftp-data /home/provider/data
cd ~/workspace/sinp-<region>-srv/
rsync -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
)
ssh admin@bkp-<region>-sinp
cd ~/docker/sftp/
ssh-keygen -t ed25519 -f ssh_host_ed25519_key < /dev/null
ssh-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. docker compose up
CTRL+C
puis le redémarrer en tant que service : docker compose up -d
sudo -i
cd /home/provider/data/
mkdir cbna cbnmed cbna-cbnmed cen-paca
mkdir cbna cbnmc flavia lpo
chown provider:users ./*
aptitude install filezilla
HOST_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>-sinp
cd ~/docker/sftp
vi 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.yml
volumes: - ./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/data
docker compose down ; docker compose up -d