# [SFTP server] Login avec user sans shell

## Poussin

Bonsoir (c'est ma soirée)

Alors, je tente de mettre en place un serveur sftp afin de que mes utilisateurs puissent uploader leurs pages web en toute sécurité.

J'ai suivi des tutos comme il en grouille sur le net:

```

Subsystem       sftp    internal-sftp

Match Group sftpchroot

        ChrootDirectory %h

        ForceCommand internal-sftp

        AllowTcpForwarding no

```

J'ai créé un nouvel utilisateur (useradd -g users -G sftpchroot -m -s /bin/false untestdesftp)

Je lui configure un mot de passe. Je tente de me connecter en sftp et là, c'est le drame:

dans le /var/log/message

```

Feb 19 23:16:30 orion sshd[29686]: error: PAM: Authentication failure for valerie from aurora

```

Par contre, si je configure /bin/bash comme shell, ça passe!

Alors je ne comprends pas pourquoi PAM me gicle si je tente une connection sftp sans shell.

Si vous avez, idée, je suis encore preneur! (Je crois que ce n'est pas ma journée, je ne comprends rien à rien ^^ )

----------

## geekounet

Déjà fait au boulot sur une vieille mandriva (mais avec un ssh 5.x compilé à la main, c'était un 4.x de base...), le user avec /bin/false en shell, sans rien toucher dans PAM et ça fonctionne. Je sais pas ce qui bloque de ton coté mais voilà mes confs pour te donner une idée :

```
xxx:x:514:515::/home/ftpusers/xxx:/bin/false
```

```
sftponly:x:514:xxx
```

```
Subsystem sftp internal-sftp

Match group sftponly

         ChrootDirectory /home/ftpusers/%u

         X11Forwarding no

         AllowTcpForwarding no

         PermitTunnel no

         ForceCommand internal-sftp
```

```
# cat /etc/pam.d/system-auth

#%PAM-1.0

auth        required      pam_env.so

auth        sufficient    pam_unix.so try_first_pass likeauth nullok

auth        required      pam_deny.so

account     sufficient    pam_unix.so

account     required      pam_deny.so

password    required      pam_cracklib.so try_first_pass retry=3 minlen=4  dcredit=0  ucredit=0 

password    sufficient    pam_unix.so try_first_pass use_authtok nullok md5 shadow

password    required      pam_deny.so

session     optional      pam_keyinit.so revoke

session     required      pam_limits.so

session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid

session     required      pam_unix.so

# cat /etc/pam.d/sshd

#%PAM-1.0

auth       required     pam_listfile.so item=user sense=deny file=/etc/ssh/denyusers

auth       include      system-auth

account    required     pam_nologin.so

account    include      system-auth

password   include      system-auth

session    include      system-auth
```

----------

## Poussin

J'ai sensiblement la même chose pour sshd_config (je ne vire pas le X11Forwarding et le tunnel explicitement). Pour l'utilisateur, la seul différence et que le groupe sftpchroot n'était pas le groupe principal, mais un groupe supplémentaire -> j'ai modif, ça ne change rien

Pour pam, j'ai ceci: (je n'y ai jamais touché)

```

# cat sshd 

auth       include      system-remote-login

account    include      system-remote-login

password   include      system-remote-login

session    include      system-remote-login

 # cat system-remote-login 

auth            include         system-login

account         include         system-login

password        include         system-login

session         include         system-login

# cat system-login 

auth            required        pam_tally2.so onerr=succeed

auth            required        pam_shells.so 

auth            required        pam_nologin.so 

auth            include         system-auth

auth            optional        pam_gnome_keyring.so

 

account         required        pam_access.so 

account         required        pam_nologin.so 

account         include         system-auth

account         required        pam_tally2.so onerr=succeed 

 

password        include         system-auth

password        optional        pam_gnome_keyring.so

 

session         optional        pam_loginuid.so

session         required        pam_env.so 

session         optional        pam_lastlog.so 

session         include         system-auth

session         optional        pam_ck_connector.so nox11

session         optional        pam_gnome_keyring.so auto_start

session         optional        pam_motd.so motd=/etc/motd

session         optional        pam_mail.so

# cat system-auth 

auth            required        pam_env.so 

auth            required        pam_unix.so try_first_pass likeauth nullok 

auth            optional        pam_permit.so

 

account         required        pam_unix.so 

account         optional        pam_permit.so

 

password        required        pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 

password        required        pam_unix.so try_first_pass use_authtok nullok sha512 shadow 

password        optional        pam_permit.so

 

session         required        pam_limits.so 

session         required        pam_env.so 

session         required        pam_unix.so 

session         optional        pam_permit.so

```

J'ai essayé de mettre le Match sur le User plutot que Group -> quedal

Je sèche complètement

----------

## Poussin

En relisant les tutos, je vois que le répertoire auquel on veut avoir accès en sftp doit appartenir à root et n'être accessible qu'à lui seul (si ce n'est pas étrange ça...) 

 :Arrow:  http://en.gentoo-wiki.com/wiki/SFTP_Server

Mais aucun autre changement. je ne comprends vraiment pas pourquoi ca ne marche pas

----------

