Comment créer un utilisateur SFTP sans accès de coquille sur CentOS / RHEL 8

Comment créer un utilisateur SFTP sans accès de coquille sur CentOS / RHEL 8

SFTP (protocole de transfert de fichiers SSH) est un protocole de transfert de fichiers sécurisé entre deux systèmes. Il passe sur le protocole SSH et partage le même port 22. Ce tutoriel vous aidera à créer des SFTP à accéder aux utilisateurs (sans accès SSH) sur les systèmes CentOS 8 et Redhat 8. L'utilisateur peut connecter le serveur avec SFTP uniquement et autorisé à accéder au répertoire spécifié. Les utilisateurs ne peuvent pas SSH dans le serveur. Suivez le tutoriel ci-dessous pour créer un compte SFTP uniquement sur CentOS 8 et RHEL 8.

Étape 1 - Créer un compte

Tout d'abord, créez un compte utilisateur pour l'accès SFTP. Pour ce tutoriel, nous créons un utilisateur nommé SFTPUSER sans accès à la coquille. Définissez également un mot de passe fort pour l'utilisateur.

sudo addUser --shell / bin / false sftpuser sudo passwd sftpuser 
Modification du mot de passe pour l'utilisateur SFTPUSER. Nouveau mot de passe: Retyper le nouveau mot de passe: PASSWD: Tous les jetons d'authentification mis à jour avec succès. 

Étape 2 - Créer un répertoire

Maintenant, créez la structure du répertoire pour être accessible par l'utilisateur SFTP. Nous limiterons le nouvel utilisateur à ce répertoire uniquement. L'utilisateur ne peut donc pas accéder à des fichiers à d'autres répertoires.

sudo mkdir -p / var / sftp / fichiers 

Modifier la propriété du répertoire en utilisateurs de SFTP nouvellement créés. Afin que SFTPUSER puisse lire et écrire sur ce répertoire.

sudo chown sftpuser: sftpuser / var / sftp / fichiers 

Vous devez définir le propriétaire et le propriétaire du groupe du / var / sftp pour root. L'utilisateur racine a un accès en lecture / écriture sur cet accès. Les membres du groupe et d'autres comptes n'ont lu et exécuté que des autorisations.

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

Étape 3 - Configurer SSH pour SFTP

Comme nous le savons, le SFTP passe sur le protocole SSH, nous devons donc configurer cela dans le fichier de configuration. Modifiez le fichier de configuration SSH dans un éditeur de texte.

sudo vim / 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 

Enregistrez la configuration et redémarrez le service SSH pour appliquer les modifications.

sudo systemctl redémarrer sshd.service 

Tout fait, votre système est prêt à accepter la connexion SFTP uniquement pour le compte créé. Testons la connexion SFTP et assurons également que l'utilisateur n'est pas autorisé à SSH.

Étape 4 - Testez la connexion SFTP

J'utilise Filezilla pour la connexion à l'instance SFTP à partir de mes systèmes Windows. Les utilisateurs de Linux Desktop peuvent également utiliser Filezilla pour la connexion.

Pour le serveur Linux, les utilisateurs peuvent utiliser l'utilitaire de ligne de commande SFTP pour se connecter à l'instance SFTP distante.

sftp [e-mail protégé] 
Connexion à SFTP.técadmin.Net… [Mot de passe du courrier électronique]: SFTP> 

Connectez-vous avec Filezilla:

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é. 

Le message ci-dessus (ce service permet uniquement les connexions SFTP.) montre que l'utilisateur a un accès SFTP uniquement. Les utilisateurs ne peuvent pas connecter le serveur sur SSH.