Serveur ssh, limiter nombre connexions même utilisateur

Bonjour à toutes et à tous.

Voilà la situation: j’ai créé un serveur, auxquel les utilisateurs peuvent se connecter via ssh. L’identification se fait par le nom d’utilisateur et le mot de passe.

Pour l’instant, un même utilisateur peut lancer plusieurs fois le client ssh et se connecter plusieurs fois avec son nom d’utilisateur et son mot de passe.

Ce que je souhaiterais c’est qu’un utilisateur ne puisse lancer qu’une seule “session” ssh à la fois, je n’ai malheureusement rien trouver dans la doc à ce sujet.

J’avais pensé limiter le nombre de tty qu’ils peuvent ouvrir à un, mais je n’ai pas trouvé comment limiter le nombre de tty pour certains utilisateurs en particulier (je voudrais laisser la possibilité de lancer plusieurs session pour mon compte).

Voilà si vous pouviez m’orienter et/ou me conseiller, ce serait sympa.

P.S : J’utilise la version stable de Debian (Lenny)j’ai installé le packet “openssh-server” présent sur le cd1 de ma version Debian.

Personne n’a une idée?

Alors, j’ai fouillé et j’ai finalement édité le fichier: /etc/security/limits.conf
j’y ai ajouté la dernière ligne (les autres y étaient déjà :

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#ftp             -       chroot          /ftp
#@student        -       maxlogins       4
toto             -       maxlogins       1

Ceci permet de limiter le nombre de logins pour l’utilisateur “toto” à 1. Je teste d’une machine windows. Avec putty, tout se passe bien il est impossible pour l’utilisateur toto de se connecter plus d’une fois. Par contre lorsque je teste avec winscp, là je peux toujours ouvrir autant d’instances winscp que je veux… Pourtant winscp utilise ssh au même titre que putty non? Là je suis un peu perdu…

EDIT :
Le problème vient bien de la connexion via winscp. Lorsqu’un utilisateur se connecte au serveur avec ce programme, il n’apparaît pas dans la liste des utilisateurs renvoyés par la commande who. Alors que lorsqu’il se connecte avec putty, il apparaît bien dans cette liste.
Je continue mes recherches mais je ne trouve pas grand chose pour l’instant. Si quelqu’un à des explications, je suis preneur.

Si tous copies une batteries de fichiers, scp ouvrent plusieurs connexions à la fois, il doit être écarté de cette limitations. J’utilise scp entre des sites et il a fallu faire des exc eptions aux règles iptables utilisant ipt_recent afin de pouvoir utiliser scp pour cette raison.

Bonjour fran.b et merci de ta réponse.
Pour l’instant le serveur est toujours en phase de test, et personne à part moi n’y a accès.

J’ai créé l’utilisateur toto pour faire des test, mais sans lancer aucune copie avec Winscp, simplement en me “loggant” (participe présent de logger :wink:)

J’avai pensé créer une règle dans iptables, mais il n’agit que sur les adresses ip (je crois, je débute, corrigez moi si c’est faux). Or ce que je voudrait c’est éviter qu’un utilisateur puisse communiquer son login et son mot de passe à d’autres personnes et que tous puissent se logger simultanément. C’est pourquoi je dois agir sur le nom de l’utilisateur et pas sur l’adresse ip.

P.S: Le programme avec lequel je teste s’appelle Winscp mais il utilise le protocole SFTP pour communiquer avec le serveur.