Dans ce tutoriel, j'expliquerai comment configurer SSH pour autoriser SFTP et interdire l'accès à la connexion SSH.
Solution :
Eh bien, SFTP utilise SSH et par défaut, les utilisateurs pourront utiliser à la fois SSH et SFTP. Mais si jamais vous voulez que les utilisateurs utilisent uniquement SFTP et interdisent l'accès SSH, alors OpenSSH le prend en charge. À partir de la version 4.9 d'OpenSSH, vous pouvez modifier sshd_config fichier comme indiqué ci-dessous :
Comment autoriser SFTP et interdire SSH
Étape 1 :Modifier le fichier de configuration SSH
# vim /etc/sshd_config
Étape 2 :Recherchez le sous-système FTP.
Au cas où, si le sous-système est déjà défini comme indiqué ci-dessous :
Subsystem sftp /usr/lib/openssh/sftp-server
Ensuite, vous devez le remplacer par :
Subsystem sftp internal-sftp
Les deux serveur sftp et interne-sftp sont les sous-systèmes de SSH, mais internal-sftp est le plus préféré. La raison en est internal-sftp est un sftp en cours de traitement serveur qui a un avantage de performance sur stp-server et ne nécessite pas non plus de fichiers de support supplémentaires lorsqu'il est utilisé avec ChrootDirectory option.
Étape 3 :Ajoutez les lignes ci-dessous
Match group ftp ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Attention à 'Match group ftp ' ligne qui indique que tout utilisateur souhaitant utiliser SFTP doit appartenir au groupe appelé 'ftp ‘ (créez votre propre groupe, si nécessaire). Utilise également internal-sftp le sous-système est important, car nous utiliserons ChrootDirectory option.
Remarque :Assurez-vous que les lignes ci-dessus sont ajoutées après "UsePAM yes ' dans sshd_config fichier.
Étape 4 :Ajouter des utilisateurs au groupe FTP.
# vim /etc/group
Recherchez le groupe FTP et ajoutez des utilisateurs comme indiqué ci-dessous, par exemple l'utilisateur 'sysadmin ‘.
ftp:x:113:sysadmin
Vous devrez peut-être changer le répertoire personnel de l'utilisateur en /
à cause de l'utilisation de Chroot et racine devrait être le propriétaire de /home/user .
Étape 5 :testez si les configurations sont correctes avant de redémarrer le service SSH. Cette étape est très importante.
# sshd -t
S'il y a une erreur, elle sera affichée à l'écran. Sinon, aucune sortie ne sera affichée.
Étape 6 :Redémarrez le service SSHD
# /etc/init.d/ssh restart
(ou)
# /etc/init.d/sshd restart
(ou)
# service ssh restart
(ou)
# service sshd restart
Étape 7 :Tester
Désormais, tout utilisateur appartenant à 'ftp ' sera autorisé à utiliser SFTP, mais ne pourra pas se connecter via SSH.
Remarque :Les commandes ci-dessus ont été exécutées et testées sur Ubuntu 14.04.4 LTS.