Protocole de transfert de fichiers sécurisé (SFTP) est utilisé pour chiffrer les connexions entre les clients et le serveur FTP. SFTP fournit des fonctionnalités d'accès aux fichiers, de transfert de fichiers et de gestion de fichiers via des tunnels SSH.
Qu'est-ce qu'un serveur SFTP ?
Le protocole SFTP (Secure File Transfer Protocol) est utilisé pour crypter les connexions entre les clients et le serveur FTP. SFTP fournit des fonctionnalités d'accès aux fichiers, de transfert de fichiers et de gestion de fichiers via des tunnels SSH. La configuration d'un serveur SFTP accessible par plusieurs utilisateurs nécessite que vous appliquiez une protection de sécurité en termes de protection des utilisateurs SFTP contre les intrus externes et que vous protégiez également le serveur SFTP contre d'autres utilisateurs SFTP malveillants. Il vous permet également d'isoler les utilisateurs SFTP individuels. Cet article vise à vous montrer comment configurer le serveur SFTP dans CentOS. Notez que cela peut être réalisé de différentes manières, mais nous utiliserons MySecureShell qui est un serveur SFTP basé sur OpenSSH. Avec MySecureShell, vous disposez des fonctionnalités suivantes ; vous contrôlez la bande passante de votre serveur SFTP, vous pouvez administrer votre serveur via une interface graphique et vous pouvez également appliquer des restrictions sur les utilisateurs via IP ou groupes, avec des informations de journalisation complètes et bien d'autres.
Nous allons commencer par installer ce qui suit –
1. Installer le paquet openssh-server
yum install openss1-deve1 openssh-server make
2. Installez MySecureShell
Ouvrez et modifiez le fichier suivant –vi /etc/yum.conf
Ajoutez ce qui suit à la fin de la page –
[mysecureshell] name=MySecureShell baseurl=http://mysecureshell.f enabled=1 gpgcheck=0Enregistrer les modifications et quitter l'éditeur –
3. Mettez à jour votre serveur et installez mysecureshell
yum update -y yum install mysecureshell -y
4. Vérifiez le répertoire d'installation de mysecureshell
whereis MySecureShell
5. Créez un groupe spécial pour les utilisateurs SFTP appelé sftpusers
groupadd sftpusers
6. Ajoutez un mot de passe pour votre nouvel utilisateur
passwd joanModification du mot de passe de l'utilisateur joan.Nouveau mot de passe :
7. Pour l'accès chroot pour configurer l'accès chroot
Pour limiter un utilisateur à un répertoire désigné, nous apporterons les modifications suivantes dans /etc/ssh/shtp_config
Vous pouvez modifier avec votre éditeur
vi /etc/ssh/shtp_config
Trouvez la ligne 147 et commentez-la –Sous-système sftp /usr/libexec/openssh/sftp-server et ajoutez les lignes ci-dessous.
Ajoutez ceci après la ligne commentée –
Sous-système sftp internal-sftpAjoutez ce qui suit à la fin du fichier –X11Forwarding no AllowTcpForwarding no ChrootDirectory /sftp/%u ForceCommand internal-sftp
NB. ce qui précède chroote l'utilisateur dans un dossier spécifié, mais vous pouvez également le chrooter dans son répertoire personnel en remplaçant "ChrootDirectory /sftp/%u" par "ChrootDirectory %h".
Nous devons maintenant créer l'arborescence chrootée dans laquelle cet utilisateur (jack) sera verrouillé.
# mkdir -p /sftp/jack/{incoming,outgoing} # chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing} Your permissions should look like the following - # ls -ld /sftp/guestuser/{incoming,outgoing} drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/incoming drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/outgoing
8. Après avoir modifié le fichier de configuration, redémarrez sshd avec
service sshd restart
9. Vous pouvez ajouter des utilisateurs existants, par exemple jack, au groupe "sftp"
usermod -s /usr/bin/mysecureshell -g sftp jack
10. Vous pouvez ajouter un ou plusieurs nouveaux utilisateurs, par exemple Joan, au groupe "sftp"
useradd -m -s /usr/bin/mysecureshell joan usermod -s /bin/mysecureshell -g sftp joan
11. Côté client, vous pouvez vous connecter au serveur SFTP avec cette commande
sftp [email protected]_host.com
11. Pour vérifier les utilisateurs SFTP actuellement connectés
sftp-who