GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un utilisateur SFTP sans accès au shell sur CentOS 8

SFTP signifie "Protocole de transfert de fichiers SSH". SFTP est un protocole de transfert de fichiers utilisé pour transférer des fichiers entre deux serveurs. Par défaut, SFTP vous permet de transférer des fichiers sur tous les serveurs sur lesquels l'accès SSH est activé. Cependant, il accordera l'accès au terminal à tous les utilisateurs, ce qui n'est pas recommandé pour des raisons de sécurité.

Dans ce didacticiel, nous allons apprendre à créer un utilisateur SFTP sans accès au shell afin que l'utilisateur n'ait qu'un accès SFTP et non un accès SSH.

Prérequis

  • Un nouveau VPS CentOS 8 sur la plate-forme cloud d'Atlantic.net.
  • Un mot de passe root configuré sur votre serveur.

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 - Créer un utilisateur SFTP

Tout d'abord, vous devrez créer un nouvel utilisateur avec uniquement un accès au transfert de fichiers. Vous pouvez créer un nouvel utilisateur nommé sftp à l'aide de la commande suivante :

adduser sftp

Ensuite, définissez le mot de passe pour l'utilisateur ci-dessus :

passwd sftp

Fournissez votre mot de passe souhaité et appuyez sur Entrée.

Étape 3 - Créer une structure de répertoire pour les transferts de fichiers

Ensuite, vous devrez créer une structure de répertoires pour le transfert de fichiers afin de restreindre l'accès SFTP à un répertoire.

Vous pouvez créer un nouveau répertoire avec la commande suivante :

mkdir -p /opt/sftp/public

Ensuite, définissez la propriété du répertoire /opt/sftp/ sur root :

chown root:root /opt/sftp

Ensuite, donnez les autorisations appropriées avec la commande suivante :

chmod 755 /opt/sftp

Ensuite, définissez la propriété du répertoire public sur l'utilisateur sftp :

chown sftp:sftp /opt/sftp/public

Étape 4 – Configurer SSH pour SFTP

Ensuite, vous devrez configurer SSH pour restreindre l'accès à un répertoire et interdire l'accès au terminal à l'utilisateur sftp.

Vous pouvez le faire en éditant le fichier /etc/ssh/sshd_config :

nano /etc/ssh/sshd_config

Ajoutez les lignes suivantes à la fin du fichier :

Match User sftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /opt/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service SSH pour appliquer les modifications :

systemctl restart sshd

Étape 5 – Vérifier SFTP

Maintenant, vérifiez l'accès SFTP avec la commande suivante :

sftp [email protected]

Il vous sera demandé de fournir un mot de passe comme indiqué ci-dessous :

[email protected]'s password:

Fournissez votre mot de passe utilisateur SFTP et appuyez sur Entrée. Une fois connecté, vous devriez voir la sortie suivante :

Connected to your-server-ip.
sftp>

Ensuite, exécutez la commande suivante pour lister le répertoire :

sftp> ls

Vous devriez voir le répertoire public dans la sortie suivante :

public 
sftp>

Ensuite, vérifiez si vous pouvez établir une connexion SSH ou non :

ssh [email protected]

Il vous sera demandé de fournir un mot de passe comme indiqué ci-dessous :

[email protected]'s password:

Fournissez votre mot de passe utilisateur SFTP et appuyez sur Entrée. Vous devriez voir le résultat suivant :

This service allows sftp connections only.
Connection to your-server-ip closed.

La sortie ci-dessus indique que l'utilisateur sftp ne peut plus accéder au shell du serveur via SSH.

Conclusion

Toutes nos félicitations! Vous avez configuré avec succès SFTP sans accès au shell sur CentOS 8. Vous pouvez également utiliser cette configuration pour plusieurs utilisateurs et répertoires. Commencez dès aujourd'hui avec SFTP sur un VPS d'Atlantic.Net !


Linux
  1. Comment créer un utilisateur Sudo sur CentOS, Ubuntu et Debian

  2. Centos - Comment créer un utilisateur Sftp dans Centos ?

  3. Comment créer un nouvel utilisateur avec un accès Ssh ?

  4. Comment créer un utilisateur sudo sur CentOS 7

  5. Comment configurer VSFTPD sur CentOS 7.x ?

Comment créer et exécuter un script Shell dans CentOS 8

Comment créer un utilisateur SFTP uniquement dans Debian 11

Comment créer un utilisateur Sudo sur CentOS

Comment limiter l'utilisateur root dans CentOS

Comment installer Dgraph sur CentOS 8

Comment créer un utilisateur ou un contact