Tu dupliques le démon SSH,
avec un tu le "bind" sur le port 22 (pour les connexions ssh),
et tu fais un ssh-sftp (voir ce tuto :
http://www.kudos.be/node/8)
Il n'y a rien de bien compliqué,
ca te permettra d'une part de n'autoriser que ce que tu veux pour le sftp vu que le demon aura son fichier de configuration personnel,
et de plus en "bidouillant" un peu, il est assez simple de faire que ssh-sftp passe uniquement par PAM_MYSQL et l'autre par PAM (/etc/shadow).
Si je peux me permettre une explication sur les ports :
Le port sur lequel tu configures SSH est ce que l'on appele le port d'écoute, c'est le port sur lequel le service principale ecoute.
Il faut savoir que 1 port ne peut être lié qu'à une application à la fois. Donc dans le cas de SSH après la première connexion ==> dans les fesses 😃.
Donc en fait le port 22 permet l'écoute.
Ensuite lorsque le procéssus établi la connexion, il fait un "duplicate"/duplication/copie implicite (une fois que l'on a programmé un peu de réseau en asm/c tout devient clair), qui en fait ouvrira un autre port que le port 22 sur la machine "serveur" et liberera le port 22 qui pourra de-nouveau écouter les connexions entrantes.
pour voir cet état de fait : "netstat -an" est très utile. Il permet de faire un "listing" complet des connexions établies aussi bien tcp/ip que unix_socket et ipx (enfin tout ce qui est supporté par le kernel).
Par exemple en faisant un ssh sur localhost,
tu pourras voir que tu contactes le port 22 mais quand la connexion est établie tu seras sur un autre port.
Dans mon cas: (IPV 6 sur ::1 ==> localhost 🙂)
tcp 0 0 ::1:22 ::1:56168 ESTABLISHED
tcp 0 0 ::1:56168 ::1:22 ESTABLISHED
Quand à FTP, en fait il ouvre le canal de commande + le canal de transmission en actif et en passif, c'est le client qui établi son lot de connexions vers le serveur d'ou l'obligation d'ouvrir une belle floppée de port. Le passif est utilisé dans le cas ou le client travail derrière du PAT. Dans le cas du vrai NAT ca peut fonctionner en actif 🙂.
Bon, j'ai trop parlé,
A vous les studios.