sftp avec openssh

Les versions récentes de openssh permettent de créer un accès sftp pour transmettre des fichiers.
Il n'est donc plus nécessaire d'installer un serveur ftp.

Ajouter un nouveau groupe

groupadd sftp

Pour ajouter un utilisateur seulement pour le sftp

useradd -d /home/sftp/{username} {username}
passwd {username}
usermod -g sftp {username}
usermod -s /bin/false {username}

Configuration /etc/ssh/sshd_config

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Match group sftp
        X11Forwarding no
        ChrootDirectory %h
        AllowTcpForwarding no
        ForceCommand internal-sftp

Réglages des permissions
Un répertoire pour recevoir les fichiers "recv"
Un répertoire pour déposer les fichiers "send"

mkdir /home/sftp/{username}/recv
mkdir /home/sftp/{username}/send
chown user:sftp -R /home/{username}
chown {username}:{username} /home/{username}/recv
chown {username}:{username} /home/{username}/send
chmod 755 /home/sftp/{username}/recv
chmod 755 /home/sftp/{username}/send

Attention : si je me rappelle bien il faut respecter les permissions et il est impossible d'écrire dans le répertoire parent

chown root:root /home/sftp/username

Tags: