SFTP signifie Secure File Transfer Protocol que nous avons utilisé pour le transfert sécurisé de données vers et depuis votre système local. Il fonctionne sur le protocole SSH et est donc considéré comme plus sécurisé que le simple FTP (File Transfer Protocol). Le transfert de données est une tâche routinière de chaque administrateur système et des autres développeurs qui doivent apporter des modifications à leur code.
Ainsi, dans l'article d'aujourd'hui, nous allons montrer les étapes détaillées pour configurer le serveur SFTP et créer des utilisateurs avec leurs autorisations de répertoire spécifiées.
Pour la démonstration, nous utilisons Ubuntu 20.04 LTS pour la configuration SFTP, mais des étapes similaires peuvent être effectuées si vous utilisez le système d'exploitation RHEL/CentOS.
Prérequis :
À partir des prérequis, nous devons nous assurer que nous disposons des privilèges d'utilisateur sudo ou root sur le serveur sur lequel nous devons créer des utilisateurs SFTP.
Commençons par vous connecter au système en utilisant ssh pour lequel vous pouvez utiliser le terminal Putty ou Shell de votre bureau Linux.
# ssh -i key.pem [email protected]_server_ip
# sudo -i
Vous pouvez également vous connecter directement à votre système, mais assurez-vous d'utiliser votre propre nom d'utilisateur et vos informations d'identification.
Étape 1 :Créer un nouvel utilisateur SFTP uniquement
La création d'un nouvel utilisateur pour SFTP est aussi similaire que nous le faisons pour l'ajout d'autres utilisateurs généraux. Mais afin de limiter son utilisation à des fins SFTP uniquement, nous ne l'attribuerons à aucun shell de connexion.
Exécutez la commande ci-dessous pour créer un utilisateur SFTP en spécifiant son répertoire personnel personnalisé.
# useradd -m -d /home/example.com sftp_user
Définissez le mot de passe de l'utilisateur nouvellement créé à l'aide de la commande "passwd" comme ci-dessous.
# passwd sftp_user
Assurez-vous de définir un mot de passe complexe pour sa sécurité. Attribuez-lui ensuite un shell nologin en modifiant le fichier 'passwd' comme ci-dessous.
# vim /etc/passwd
sftp_user:x:1001:1001::/home/example.com:/usr/sbin/nologin
Enregistrez et fermez avec :wq! Pour appliquer les modifications.
Étape 2 :Configurer les autorisations du répertoire
Après avoir créé le nouvel utilisateur, nous devons configurer les bonnes autorisations de répertoire et la propriété du répertoire de l'utilisateur que nous avons créé à la première étape.
# chmod 755 /home/example.com/
# chown root:root /home/example.com
Étape 3 :Restreindre l'accès à l'annuaire
Maintenant que nous avons un nouvel utilisateur SFTP uniquement en place, nous devons ensuite restreindre son accès au répertoire pour qu'il soit accessible au dossier de départ spécifié que nous avons créé.
Pour ce faire, nous allons modifier le fichier de configuration ssh en ajoutant les paramètres suivants.
# vim /etc/ssh/sshd_config
subsystem sftp internal-sftp Match User sftp_user ChrootDirectory %h AllowTCPForwarding no X11Forwarding no PasswordAuthentication yes ForceCommand internal-sftp
Avant d'enregistrer les modifications apportées, assurez-vous d'ajouter votre nom d'utilisateur à "Match User", tandis que "%h" représente le répertoire personnel de votre nouvel utilisateur dans l'environnement restreint. Ce 'ChrootDirectory' garantira que votre utilisateur SFTP n'aura accès à aucun autre répertoire.
Enregistrez le fichier de configuration ssh, vérifiez la syntaxe en cas de problème, puis redémarrez ses services et confirmez s'il est en cours d'exécution en utilisant le commandes ci-dessous.
# ssh -t
# systemctl restart sshd
# systemctl status sshd
Ici, vous pouvez voir qu'il y avait d'abord une erreur dans le fichier de configuration ssh que nous avons corrigé en commentant l'entrée supplémentaire et en redémarrant le "service sshd".
Étape 4 :Tester la connexion SFTP
À ce stade, nous sommes prêts à utiliser notre utilisateur SFTp, mais avant cela, testons-le pour nous assurer qu'il n'a qu'un accès SFTP en utilisant la commande ssh.
# [email protected]
Alors que xx doit être remplacé par votre propre adresse IP de serveur. En conséquence, vous devriez obtenir l'échec de connexion comme indiqué ci-dessous.
Étape 5 :Utiliser le client SFTP
Il existe quelques clients SFTP disponibles pour le système d'exploitation multiplateforme et vous pouvez utiliser celui que vous préférez. Nous allons le tester en utilisant FileZilla qui est l'un des clients FTP/SFTP les meilleurs et les plus utiles disponibles. Vous pouvez facilement le télécharger à partir de leur lien officiel.
Ouvrons-le dans votre système et donnons l'adresse IP de votre serveur SFTP avec votre nom d'utilisateur et votre mot de passe créés.
Une fois les informations d'identification réussies, vous pourrez accéder à votre répertoire spécifié uniquement où vous pourrez télécharger ou télécharger les données.
Conclusion :
Dans cet article, nous avons couvert les étapes détaillées de la configuration et du nouveau serveur SFTP en apportant les modifications de configuration ssh, en ajoutant de nouveaux utilisateurs et en attribuant les autorisations de répertoire requises. Vous pouvez ajouter autant d'utilisateurs que vous le souhaitez ou simplement créer un nouveau groupe et intégrer de nouveaux utilisateurs à ce groupe.