Fiche SFTP sous debian/ubuntu

SFTP (SSH File Transfer Protocol) permet de transférer des fichiers de manière sécurisée via SSH.
Contrairement à FTP, toutes les communications sont chiffrées.

Objectifs :

- installer un accès SFTP
- créer des utilisateurs
- restreindre les accès
- transférer des fichiers
- sécuriser les échanges

Installation

SFTP repose sur SSH.

Installer le serveur SSH :

apt update
apt install openssh-server -y

Vérifier le service :

systemctl status ssh

Activer au démarrage :

systemctl enable ssh

Configuration de base

Fichier principal :

/etc/ssh/sshd_config

Éditer :

nano /etc/ssh/sshd_config

Vérifier que SFTP est activé :

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

Création d’un utilisateur SFTP

Créer un utilisateur :

adduser sftpuser

Configuration d’un accès SFTP restreint (chroot)

Créer un groupe

groupadd sftpusers

Ajouter l’utilisateur :

usermod -aG sftpusers sftpuser

Modifier la configuration SSH

Ajouter à la fin de /etc/ssh/sshd_config :

Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Ajuster les droits

Le répertoire racine doit appartenir à root :

chown root:root /home/sftpuser
chmod 755 /home/sftpuser

Créer un dossier accessible :

mkdir /home/sftpuser/files
chown sftpuser:sftpuser /home/sftpuser/files

Redémarrer le service

systemctl restart ssh

Connexion SFTP

Depuis Linux

sftp sftpuser@192.168.1.10

Depuis Windows

Explorateur :

sftp://sftpuser@192.168.1.10

Avec client graphique

Exemples :

  • FileZilla
  • WinSCP

Paramètres :

Protocole : SFTP
Port : 22
Utilisateur : sftpuser
Mot de passe : défini

Commandes SFTP

CommandeDescription
lsListe les fichiers
pwdRépertoire courant
cdChanger de dossier distant
lcdChanger de dossier local
getTélécharger un fichier
putEnvoyer un fichier
mkdirCréer un dossier
rmSupprimer un fichier
rmdirSupprimer un dossier
exitQuitter

Exemples

Upload

put fichier.txt

Download

get fichier.txt

Navigation

cd files
lcd /home/user/Documents

Permissions et sécurité

Vérifier les droits

ls -l

Modifier les droits

chmod 644 fichier.txt
chmod 755 dossier

Changer propriétaire

chown sftpuser:sftpuser fichier.txt

Utilisation avec clé SSH (recommandé)

Générer une clé côté client :

ssh-keygen

Copier la clé :

ssh-copy-id sftpuser@192.168.1.10

Désactiver le mot de passe (optionnel) :

PasswordAuthentication no

Logs

/var/log/auth.log

Avec systemd :

journalctl -u ssh

Problèmes fréquents

ProblèmeCauseSolution
Accès refuséMauvais droits chrootvérifier root:root
Connexion impossibleSSH arrêtésystemctl status ssh
Upload refusémauvais droits dossiervérifier chmod/chown
Bloqué dans un dossierchroot actifnormal

Bonnes pratiques

- utiliser SFTP plutôt que FTP
- restreindre les utilisateurs (chroot)
- utiliser des clés SSH
- limiter les droits
- surveiller les logs

Fichiers importants

/etc/ssh/sshd_config
/home/sftpuser/
/var/log/auth.log

À retenir

SFTP permet des transferts sécurisés sans configuration complexe supplémentaire.

Points essentiels :

- basé sur SSH
- sécurisé (chiffrement)
- gestion fine des utilisateurs
- possibilité de restreindre les accès

Retour en haut