Je commence une très petite société d'hébergement pour quelques amis et petits clients, rien de grand.
Je veux donner à mes "clients" le droit de gérer leurs fichiers sur le serveur. Je déteste le FTP car ce n'est pas sécurisé et c'est à mon avis obsolète.
J'aimerais donc permettre à mes utilisateurs de se connecter via SFTP, mais pas de SSH. (Je sais, je sais, SFTP utilise SSH). Mais je me demandais, est-ce possible?
Donc, je n'aurais pas besoin d'installer un service FTP sur le serveur et tout serait génial!
Il y a une coquille qui explique cela. Il peut chroot aussi.
la source
Checkout rssh qui est un faux shell qui autorise sftp mais nie ssh
En savoir plus sur RSSH
http://www.pizzashack.org/rssh/
RPMs
http://pkgs.repoforge.org/rssh/
Vous pouvez configurer rssh pour autoriser / refuser différents comportements tels que sft, scp, etc.
la source
Vous pouvez modifier / etc / passwd et donner à cet utilisateur un faux shell afin qu’il ne puisse pas utiliser ssh.
la source
/bin/false
ssh ou sftp, cela ne fonctionne pasJ'utilise la méthode de spécification du shell utilisateur comme / bin / false comme mentionné. Cependant, vous devez vous assurer que / bin / shell est dans / etc / shells. Ensuite, ça marche ssh = pas de ftp = ok.
J'utilise également vsftpd et ajoute ce
chroot_local_user = YES à /etc/vsftpd/vsftpd.conf afin que les ftp-ers ne puissent pas voir la date autrement que la leur.
L'avantage de ces modifications simples est qu'il n'y a pas de configuration gênante en configuration ssh pour chaque utilisateur.
la source
N'oubliez pas de trouver la ligne
UsePAM yes
et de la commenter:Sans cette désactivation, votre serveur SSH se bloquerait lors du rechargement / du redémarrage. Puisque vous n’avez pas besoin de fonctions sophistiquées de PAM, c’est très bien.
la source
Configurer ssh pour n’activer que sftp pour certains utilisateurs sélectionnés est une bonne idée et cela fonctionne correctement, à condition d’installer
scponly
ourssh
.rssh
fonctionne correctement, sauf si vous devez configurer la prison, dans ce cas, essayez de suivre les instructions fournies dans les manuels de CHROOT, ce qui est fou, conduisant à la "copie" de grandes parties des exécutables système et de la bibliothèque juste en dessous de "chaque utilisateur jail", y compris lerssh
shell lui-même. C'est une méthode qui gaspille de l'espace.scponly
nécessite une compréhension approfondie de la configuration, ce qui entraîne un problème permanent de rejet de connexion en cas de configuration de la prison.Le moyen le plus simple d’autoriser les fonctionnalités "ftp" avec le jail fonctionnant correctement, la prise en charge de SSL / TLS pour des transactions et des connexions sécurisées consiste à utiliser un VSFTPD "ancien mais fonctionnel", qui s’installe rapidement et proprement et offre toutes les possibilités de configuration selon vos besoins. mais pas des moindres: ça marche!
Maurizio.
la source
Malheureusement, toutes les réponses sont extrêmement trompeuses: veuillez procéder comme suit:
Créez d'abord un utilisateur sftp et un groupe sftp
Créez un répertoire séparé en tant que racine pour les fichiers SFTP:
sudo mkdir -p /home/sftpdir
Redémarrez et vérifiez le statut du service sshd
sudo service sshd redémarrer
statut sshd de service
Créez un fichier shell. Ajouter une exécution pour faire écho à un message de notification
sudo touch / bin / sftponly echo -e '#! / bin / sh \ necho "Ce compte est limité à l'accès SFTP uniquement."' | sudo tee -a / bin / sftponly
Donner des autorisations d'exécution et ajouter au fichier shell
sudo chmod a + x / bin / sftponly echo "/ bin / sftponly" | sudo tee -a / etc / shells
Enfin, testez et vous ne devriez pas pouvoir vous connecter.
Un modèle pour utiliser le client SFTP avec une clé SSH et une verbosité de base:
sftp -v -oPort = $ RANDOM_PORT -i ~ / .ssh / $ SSH_KEY.pem sftpuser @ $ HOST
la source