1

Je souhaiterais mettre en place le serveur SFTP de OpenSSH sous Windows (Cygwin).
Je voudrais que seul les transferts SFTP soient possible (ie pas de remote login en SSH).
Après un peu de googling je n'ai pas trouvé de solution fiable, à part scponly, qui est un shell autorisant uniquement scp et sftp. Mais impossible de le compiler sous Cygwin (pour l'instant il me manque libgen.h), et apparement ceux qui ont réussi on du bidouiller.

Des idées ou d'autres solutions ?

2

Ben je sais pas, moi j'ai rien fait de particulier (juste mettre une clé SSH), et SFTP marche sans pb (alors que je me sers que de SCP, donc j'ai rien fait de particulier pour que ça marche), que ça soit avec la clé SSH ou avec le mot de passe de Windows... Mais évidemment si ton mot de passe Windows est vide et que tu n'as pas de clé SSH, ça marche pas ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

En fait tout fonctionne bien, mon problème et de réussir à interdire le remote shell.

Ce que j'ai fait finalement c'est de faire mon propre login shell, qui lance directement sftp-server.

4

ah oui dsl couic

SFTP ne marche pas avec /bin/false en shell de login ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5

Mais il faut quand même un shell pour exéxuter 'sftp-server' quand on fait du SFTP.
J'ai trouvé http://www.pizzashack.org/rssh/ qui a l'air shell assez sécurisé pour ça, mais toujours pas moyen de le compiler sous Cygwin.

6

sinon je crois qu'il y a une option qu'on peut donner à sshd pour n'autoriser l'exécution que de certaines commandes...

EDIT :
Dans .ssh/authorized_keys :
     command="command"
             Specifies that the command is executed whenever this key is used
             for authentication.  The command supplied by the user (if any) is
             ignored.  The command is run on a pty if the client requests a
             pty; otherwise it is run without a tty.  If an 8-bit clean chan-
             nel is required, one must not request a pty or should specify no-
             pty.  A quote may be included in the command by quoting it with a
             backslash.  This option might be useful to restrict certain pub-
             lic keys to perform just a specific operation.  An example might
             be a key that permits remote backups but nothing else.  Note that
             the client may specify TCP/IP and/or X11 forwarding unless they
             are explicitly prohibited.  Note that this option applies to
             shell, command or subsystem execution.

Je sais pas si ça fait ce que tu veux ou pas...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

7

Je ne trouve rien dans man sshd_config...

Pour le problème de compilation, il ne trouve pas la fonction wordexp, alors que dans cygwin-1.5.12 il y a bien un cygwin-1.5.12-1/newlib/libc/sys/linux/stdlib/wordexp.c...

8

ExtendeD :
Je ne trouve rien dans man sshd_config...

cf mon edit tongue (man sshd)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

9

Mais, si jamais l'utilisateur se loggue sans utiliser le système de clé ?
Et ça demande de fixer des droits tel que ce fichier ne soit pas modifiable, ça ne risque pas de gêner sshd ?

10

Ah oui, donc non ^^

Pour wordexp, que te donne un grep -r wordexp /usr ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

sftp et le shell ssh utilisent le même port à la connexion ? (je connais mal ces protocoles, hein)
avatar

12

oui, ça ouvre juste une session ssh qui lance le serveur à l'autre bout ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

Pollux :
Pour wordexp, que te donne un grep -r wordexp /usr ?

Rien du tout...