Forum général.général timeout ssh

Posté par  .
Étiquettes : aucune
0
18
fév.
2009
Bonjour,

Je voudrais ajouter un timeout aux connections ssh inactives.
Je souhaiterais que les utilisateurs connectés qui laissent un terminal ouvert sans activité, voient leur connection s'arreter au bout de n minutes.

Avez vous une idée?

Merci.
  • # variable shell

    Posté par  . Évalué à 5.

    c'est la variable TMOUT qui exprime en nombre de seconde l'inactivité

    L'idéal c'est de la déclarer en lecture seule dans /etc/profile, comme ça aucun utilisateur ne peut la changer :-) mais c'est un peu brutal.

    à mettre dans /etc/profile :

    typeset -r TMOUT=<Nombre de secondes>
    • [^] # Re: variable shell

      Posté par  . Évalué à 2.

      C'est exactement ca.

      J'ai ajouté dans mon /etc/profile

      TMOUT=5400


      et hop, plus de connection idle pendant 15 jours

      Merci
  • # ClientAlive...

    Posté par  . Évalué à 2.

    Salut,

    tout d'abord, ce n'est pas une astuce mais une question :-)

    regarde (man sshd_config) du côté de :
    ClientAliveCountMax
    ClientAliveInterval
    TCPKeepAlive
    • [^] # Re: ClientAlive...

      Posté par  . Évalué à 1.

      Tout d'abord merci pour vos repsonses.

      Les options :
      ClientAliveCountMax
      ClientAliveInterval
      TCPKeepAlive

      permettent de detecter si le client ssh est bien connecté, et non si l'utilisateur a laissé une console ouverte et inactive.
      • [^] # Re: ClientAlive...

        Posté par  . Évalué à 0.

        ClientAliveCountMax
        Sets the number of client alive messages (see below) which may be
        sent without sshd receiving any messages back from the client.
        If this threshold is reached while client alive messages are
        being sent, sshd will disconnect the client, terminating the ses-
        sion.


        Donc :

        - envoi de 3 messages (par exemple)
        - si pas de réponse = > déconnexion
        • [^] # Re: ClientAlive...

          Posté par  (site web personnel) . Évalué à 2.

          Non, ce sont des messages propres au protocole SSH, et non des données utilisateur (fichiers en transfert, commandes, sortie console, ...). Comme dit plus haut, ça permet de fermer les connexions fantômes.

          C'est utile en cas de problème du poste client, ou par exemple avec un équipement de filtrage réseau qui mettrait fin aux connexions TCP de façon autoritaire parce ce qu'une trop grande durée s'est écoulée sans données transitant (Cisco Pix/Asa par exemple).

          Ce qu'il faut c'est effectivement un mécanisme coté shell pour répondre à la problématique.
          • [^] # Re: ClientAlive...

            Posté par  . Évalué à 2.

            Ah ok, merci, je me coucherais moins con ce soir :)

            désolé pour la fausse piste alors.
    • [^] # Re: ClientAlive...

      Posté par  . Évalué à 3.

      TCPKeepAlive
      Ça c'est plutôt l'inverse, pour éviter de se faire déconnecter. C'est surtout utile quand entre le client et le serveur il y a des proxy/firewall de nazis qui coupent les connexions TCP après un certains temps d'activité (moi j'ai déjà repris des SSH non-utilisées après quelques jours sans problème, si entre les deux le réseau est bien administré, et sans TCPKeelAlive).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.