Le SFTP (Secure File Transfert Protocol) est un protocole fonctionnant de la même manière que le FTP. La différence principale est que l’ensemble des connexions est chiffrée grâce à SSH, y compris les mots de passe et bien sûr le contenu des échanges de données.
La mise en place du SFTP est très simple car il n’est pas nécessaire d’installer de serveur FTP , SFTP est déjà inclus avec votre installation de Openssh-server sur votre distribution Linux.
Dans notre exemple, notre machine est basée sur un OS Linux Debian 8.
Dans un terminal en root,
root@debian: /home/fabien# apt-get install openssh-server
Pour vérifier que le service SSH est actif, toujours dans le terminal :
root@debian: /home/fabien# service sshd status
Si votre serveur est fonctionnel vous devriez avoir un écran de ce type :
Pour vérifier que l’on peut accéder à localhost en SFTP, on se connecte de nouveau dans un terminal.
On peut aussi y accéder via un navigateur Web compatible avec le protocole SFTP comme Iceweasel.
On peut bien entendu se connecter via un logiciel comme Putty pour se connecter à distance d’une autre machine.
Dans cette configuration, l’utilisateur accède à l’ensemble du contenu de la machine. Ceci peut être problématique pour des raisons évidentes de sécurité.
Afin de configurer l’accès SFTP, il faut se rendre dans le fichier de configuration et l’ouvrir avec un éditeur de type Nano.
nano /etc/ssh/sshd.conf
Il est possible de limiter l’accès de certains utilisateurs, pour qu’ils puissent par exemple accéder seulement à leur répertoire personnel, mais n’aient pas le droit d’accès aux fichiers des autres utilisateurs et aux autres ressources de la machine. Cette partie appelée « chroot »sera développé dans un prochain article.