SFTP est un protocole de communication fonctionnant au-dessus de
SSHpour transférer et gérer des fichiers à distance.
:warning: Il ne faut pas confondre sftp avec ftps. Les 2 protocoles offrent les mêmes fonctionnalités de transfert de fichiers. Cependant le ftps fonctionne sur la base du FTP en l’encapsulant dans une couche SSL/TLS alors que le sftp fonctionne au dessus de SSH.
Éditer la configuration du serveur SSH (/etc/ssh/sshd_config)
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
Redémarrer le serveur ssh
$ systemctl restart sshd
Les utilisateurs du groupe sftp pourront se connecter à l’aide de sftp. Ils seront isolés dans leur dossier home (%h) qui deviendra leur origine (ChrootDirectory) et leur seul horizon. On parle alors de chroot jail.
Créer le groupe sftp.
$ groupadd sftp
NON TP sur la différence entre
Ajouter l’utilisateur pi au groupe sftp.
$ gpasswd -a pi sftp
Vérifier les groupes auxquels appartient l’utilisateur pi.
$ groups pi
:warning: Le développement à distance par SSH ne sera plus possible !
Retirer l’utilisateur du group sftp.
$ gpasswd -d pi sftp
Nous allons utiliser un autre utilisateur cinema.
$ adduser cinema --disabled-login --disabled-password --gecos Cinéma
--disabled-password : ne pas créer de mot de passe, l’authentification se fera par clé.
$ mkdir /home/cinema/.ssh
$ touch /home/cinema/.ssh/authorized_keys
$ nano /home/cinema/.ssh/authorized_keys
# copier la clé publique
$ chown -R cinema:cinema /home/cinema/.ssh
$ chmod -R 500 /home/cinema/.ssh
$ chmod 400 /home/cinema/.ssh/authorized_keys
Le jail ne fonctionnera que si l’utilisateur
rootcontrôle le dossierhomede l’utilisateur.
$ chown root:cinema /home/cinema
$ chmod 750 /home/cinema
Créer un dossier qui contiendra les fichiers du site web
$ mkdir /home/cinema/public_html
$ chown cinema:www-data /home/cinema/public_html
Utiliser WinSCP pour vous connecter aux fichiers de l’utilisateur cinema.
sftp://{USERNAME}@iutsd-raspberry30-896.ad.univ-lorraine.fr