GNU/Linux >> Linux Esercitazione >  >> Linux

CentOS / RHEL:come impostare il timeout di inattività della sessione (timeout di inattività) per il logout automatico di ssh

Ci sono due opzioni relative all'inattività di ssh in /etc/ssh/sshd_config file:

ClientAliveInterval
ClientAliveCountMax

Quindi il valore di timeout viene calcolato moltiplicando ClientAliveInterval con ClientAliveCountMax.

timeout interval = ClientAliveInterval * ClientAliveCountMax

Il significato dei due parametri può essere trovato nella pagina man di sshd_config :

# man sshd_config
     ClientAliveCountMax
             Sets the number of client alive messages (see below) which may be sent without sshd(8) 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 session. It is important to note that the use of client alive messages is very different from TCPKeepAlive (below). The client alive messages are sent through the encrypted channel and therefore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable.  The client alive mechanism is valuable when the client or server depend on knowing when a connection has become inactive. The default value is 3. If ClientAliveInterval (see below) is set to 15, and ClientAliveCountMax is left at the default, unresponsive SSH clients will be disconnected after approximately 45 seconds. This option applies to protocol version 2 only.

     ClientAliveInterval
             Sets a timeout interval in seconds after which if no data has been received from the client, sshd(8) will send a message through the encrypted channel to request a response from the client. The default is 0, indicating that these messages will not be sent to the client. This option applies to protocol version 2 only.

Esistono 2 metodi per configurare il timeout di inattività. Ad esempio, in questo post configureremo un intervallo di disconnessione automatica di 10 minuti.

Metodo 1

1.Configura il valore di timeout nel file /etc/ssh/sshd_config con i valori dei parametri sottostanti.

# vi /etc/ssh/sshd_config
ClientAliveInterval 5m          # 5 minutes
ClientAliveCountMax 2           # 2 times

2. Riavvia il servizio ssh dopo aver impostato i valori.

# service sshd restart

Ciò renderebbe il timeout della sessione in 10 minuti poiché il valore ClientAliveCountMax viene moltiplicato per il valore ClientAliveInterval.

Metodo 2

1. È possibile impostare il valore ClientAliveCountMax su 0 e il valore ClientAliveInterval su 10 m per ottenere lo stesso risultato.

# vi /etc/ssh/sshd_config
ClientAliveInterval 10m          # 10 minutes
ClientAliveCountMax 0            # 0 times

2. Riavvia il servizio ssh dopo aver impostato i valori.

# service sshd restart

Differenza tra metodo 1 e metodo 2

C'è una piccola differenza tra questi due metodi. Per il primo metodo, sshd invierà messaggi, qui chiamati Client Alive Messages, attraverso il canale crittografato per richiedere una risposta dal client se il client è inattivo per cinque minuti. Il demone sshd invierà questi messaggi al massimo due volte. Se questa soglia viene raggiunta durante l'invio dei messaggi Client Alive, sshd disconnetterà il client.

Ma per il secondo metodo, sshd non invierà messaggi vivi al client e terminerà la sessione direttamente se il client è inattivo per 10 minuti.


Linux
  1. Come configurare il server VNC per i nuovi utenti in CentOS/RHEL 5

  2. CentOS/RHEL – Come eseguire uno script o un comando quando un utente si disconnette dalla sessione ssh

  3. CentOS / RHEL:come limitare l'accesso SSH in base all'ora del giorno

  4. Come configurare le chiavi SSH per l'accesso ssh "senza password" in Linux

  5. Come disabilitare il timeout in ssh durante il prompt di accesso (inattività della sessione di accesso) in Linux

Come configurare l'accesso senza password SSH su CentOS 8 / RHEL 8

Come impostare l'autenticazione a più fattori per SSH in Linux

Come configurare SSH su CentOS e RHEL

Come configurare HAProxy come Load Balancer per Nginx in CentOS 7

Come installare Zenoss Core per il monitoraggio su Linux CentOS / RHEL

Come configurare il timeout su SSH Client Putty