Comment créer un utilisateur SFTP uniquement dans Debian 11

Comment créer un utilisateur SFTP uniquement dans Debian 11

SFTP (SSH Fichier Transfer Protocol) est un protocole de fichiers sécurisé utilisé pour accéder, gérer et transférer des fichiers sur une session de transport SSH cryptée. La sécurité d'abord est une règle de pouce pour les administrateurs système. Dans certains cas, nous devons permettre aux utilisateurs distants d'accéder au système de fichiers sur notre système, mais vous ne voulez pas leur permettre d'obtenir un shell. Cela vous permettra d'un canal sécurisé pour fournir un accès limité à des fichiers et répertoires spécifiques.

Ce tutoriel vous aidera à configurer l'accès SFTP uniquement (sans accès de coquille) sur le système Debian 11. Il créera un environnement de chroot sur votre système pour limiter l'utilisateur SFTP à un répertoire spécifique uniquement. De plus, il permettra à SFTP d'accès uniquement sans l'accès SSH à l'utilisateur.

Conditions préalables

  • Un système de Debian 11 Bullseye Linux en cours d'exécution
  • Vous devez avoir un compte privilégié Sudo avec un accès à la coquille

Étape 1 - Créez un nouvel utilisateur

Tout d'abord, créez un nouvel utilisateur pour vous connecter avec le serveur SFTP. La commande suivante créera un nouveau compte nommé SFTPUSER sans accès à la coquille. Vous pouvez utiliser n'importe quel nom de votre choix ou exigence.

sudo addUser --shell / bin / false sftpuser  

Étape 2 - Créez un répertoire pour l'accès SFTP

Vous avez créé un utilisateur pour SFTP. Maintenant, créez un répertoire à configurer comme chroot pour le SFTP. Pour cet exemple, je vais créer un / var / sftp annuaire. Le répertoire doit avoir la propriété des racines à configurer en tant que répertoire de chroot. Nous allons donc créer un sous-répertoire sous / var / sftp avec un accès en écriture au compte SFTP.

Créez la structure du répertoire avec la commande suivante:

sudo mkdir -p / var / sftp / fichiers  

Ensuite, nous devons définir une autorisation appropriée sur les répertoires pour configurer comme accès à chroot avec l'accès en écriture à l'utilisateur. Ici / var / sftp doit avoir la propriété et le groupe avec une permission appropriée. Pour définir cette autorisation, tapez:

sudo chown racine: racine / var / sftp  sudo chmod 755 / var / sftp  

Maintenant, modifiez l'autorisation pour le "des dossiers" Répertoire pour permettre à l'écriture d'accès à SFTPUSER. Pour définir ces autorisations, tapez:

sudo chown sftpuser: sftpuser / var / sftp / fichiers  

Une fois que le SFTPUSER se connecte au serveur, obtiendra / var / sftp comme répertoire racine. Il ne peut pas accéder au système de fichiers à l'extérieur. De plus, l'utilisateur peut lire / écrire des fichiers sous le répertoire «Fichiers» uniquement.

Étape 3 - Configurer SSHD pour SFTP uniquement

Ensuite, vous devez configurer le serveur SSH pour permettre au «SFTPUSER» de connecter le serveur avec SFTP uniquement sans accès de shell. Pour apporter les modifications nécessaires, modifiez le fichier de configuration SSH.

sudo nano / etc / ssh / sshd_config  

et ajouter les paramètres suivants à la fin du fichier.

Faites correspondre l'utilisateur SFTPUSER FORCEMAND INTERNAL-SFTP PASTORDAUTHENTICATION Oui ChrootDirectory / Var / SFTP Permittunnel Non Autoriser pour faire non plus 
Configuration du chroot pour l'utilisateur SFTP

Vérifiez que tous les paramètres sont corrects. Ensuite, enregistrez les modifications et redémarrez le service SSH pour appliquer les modifications.

sudo systemctl redémarrer ssh  

Tout fait, l'utilisation de SFTP uniquement est créée avec succès sur votre système Debian. Essayez maintenant de vous connecter au système distant avec les informations d'identification du nouvel utilisateur et vérifiez si tout fonctionne correctement.

Étape 4 - Connectez-vous à SFTP

On peut se connecter à un serveur SFTP distant en utilisant une ligne de commande ou des applications graphiques comme Filezilla ou WinSCP. Dans ce tutoriel, je vais vous montrer les deux façons de connecter le serveur SFTP.

Les utilisateurs de Linux peuvent utiliser l'utilitaire de ligne de commande SFTP pour se connecter à des instances SFTP distantes.

sftp [e-mail protégé]  Mot de passe de [e-mail protégé par e-mail: SFTP> 

L'interface GUI ou les utilisateurs de Windows peuvent utiliser les clients graphiques SFTP. Par exemple, utilisez le client Filezilla pour connecter le compte SFTP à distance uniquement sur le système distant.

Vérifiez aucun accès à la coquille:

Comme ce compte est configuré pour la connexion SFTP uniquement. Donc, si un utilisateur essayait de se connecter via SSH sera déconnecté immédiatement après une authentification réussie. L'utilisateur obtiendra un message inférieur:

ssh [e-mail protégé]  Mot de passe de [e-mail protégé par e-mail: ce service autorise les connexions SFTP uniquement. Connexion à SFTP.técadmin.filet fermé. 

Conclusion

Dans ce guide pratiques, vous avez appris à créer un environnement de prison de chroot pour les utilisateurs de SFTP sans accès à la coque au serveur. L'environnement de chroot sécurise le système de fichiers en empêchant les utilisateurs d'accéder aux fichiers en dehors du répertoire défini. Ce tutoriel est créé et testé avec Debian 11 Bullseye System, mais cela fonctionnera sur d'autres versions Debian.