Hosting web e classico Aiuto

Bip bip... calcoli... calcoli... inizio sequenza 42...
Ci risiamo con quei pazzi robot! Hanno tradotto questa pagina nella tua lingua. I robot hanno le migliori intenzioni. Vogliono aiutarti. Premi i pulsanti al fondo della pagina per farci sapere che cosa pensi del risultato. Vai alla versione inglese

Come impostare un timeout SSH

L'impostazione di un periodo di timeout distinte per le connessioni SSH sul tuo server è una componente importante e semplice per garantire sia la stabilità di server e sicurezza. Lo strumento di daemon SSH comune trovato nella maggior parte delle distribuzione di Linux rende facile da gestire questa procedura e impostazioni aggiuntive shell e puoi perfino offrono la possibilità di disconnettere utenti inattivi se necessario.

DIFFICOLTÀ Basic - 1 | Medio - 2 | Avanzata - 3
TEMPO RICHIESTI 10 minuti
PRODOTTI CORRELATI Server dedicato o VPS basati su Linux
Basati su Linux hosting condiviso

Gestione timeout SSH lato Server

Per gestire con facilità disconnesso o persino inattivo client connesso via SSH al tuo server, ti consigliamo di vedere il problema da due angoli: ClientAlive e shell TMOUT.

Configurazione delle impostazioni ClientAlive SSH

Quando un client è collegato tramite SSH remotamente al server basati su Linux (configurato correttamente), il server verrà eseguita una serie di richieste di KeepAlive ai clienti connessi intervalli designata. Al momento ogni esecuzione, il server invia un pacchetto al client per verificare che la connessione client sia ancora valido e funzionante. Dovresti il pacchetto KeepAlive exchange mai finite il server può server automaticamente la connessione. Per garantire che il tuo server termina qualsiasi client SSH che non rispondere correttamente è necessario modificare il tuo sshd_config file. Per la maggior parte dei distribuzione di sshd_config si trova nel /etc/ssh directory, ma se necessario, si può sempre trovare un rapido Trova:

find / -name sshd_config
/etc/ssh/sshd_config
/usr/share/doc/openssh-client/examples/sshd_config

Per iniziare, Apri la sshd_config file in un editor di testo (ad esempio vim o aspetti – utilizziamo aspetti qui):

nano /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
...

Esistono tre impostazioni è necessario individuare – o aggiungere, se necessario – nel tuo sshd_config file:

  • ClientAliveCountMax
  • ClientAliveInterval
  • TCPKeepAlive

Di seguito sono le impostazioni predefinite per la maggior parte delle installazioni daemon SSH:

ClientAliveCountMax 3
ClientAliveInterval 0
TCPKeepAlive yes

ClientAliveIntervalDetermina la modalità di frequente crittografato (e pertanto difficile-a-simulazione). TCPKeepAlivepacchetti vengono trasmessi al client (in secondi). Questa impostazione funziona in combinazione con ClientAliveCountMax , che determina quanti KeepAlive pacchetti verranno trasmessi al client con alcuna risposta prima che la connessione viene interrotto.

Con le impostazioni predefinite di zero secondi per il ClientAliveInterval , maggior parte delle installazioni daemon SSH non trasmetterà questi TCPKeepAlive pacchetti.

Puoi abilitare facilmente ClientAlive trasmissione alterare o modificandone le impostazioni nel tuo sshd_config file. Ad esempio, per inviare un massimo di 4 pacchetti un intervallo di 15 secondi Dividi, aggiungere queste linee per il sshd_config file:

ClientAliveCountMax 4
ClientAliveInterval 15

L'impostazione del terzo TCPKeepAlive il comportamento simile a quello il ClientAliveCountMax e ClientAliveInterval duo, tranne TCPKeepAlive utilizza crittografati pacchetti (inviati tramite il protocollo TCP) per verificare che i clienti sono ancora connesso.

Abilitazione TCPKeepAlive garantisce che ci non sarà qualsiasi "ghost" connessioni client per il server che può consumare risorse. In altra parte, in caso di qualsiasi interruzioni internet temporaneo che potrebbero interrompere la connessione tra un client SSH-connesso e il tuo server, il TCPKeepAlive protocollo può disconnettere che l'utente.

Per abilitare (o disabilitare) TCPKeepAlive , impostare il valore di sshd_config file su o no:

# Enables TCPKeepAlive
TCPKeepAlive yes

Come sempre dopo aver apportato tutte le modifiche al tuo sshd_config file, essere certi salvare il file, quindi riavviare il daemon SSH:

service ssh restart

Disconnessione client SSH inattivo

Mentre l'uso del ClientAlive e TCPKeepAlive le impostazioni nel tuo sshd_config consente di gestire tutte le connessioni che sono stati interrotta in modo errato, che non influisce sulla connessioni client SSH che sono semplicemente inattive per un periodo di tempo lungo. Se la sicurezza è fondamentale, potrebbe desideri server inattivo SSH connessioni sicure al tuo server.

Per la maggior parte dei distribuzione di Linux, disconnessione un client inattivo possono essere facilmente gestita utilizzando il bash TMOUT impostazione entro il file bashrc. Poiché è preferibile probabilmente specificare impostazioni che si applicano a tutti gli utenti, è necessario modificare i /etc/bash.bashrc file (per le impostazioni utente specifiche Apri ~/.bashrc invece):

nano /etc/bash.bashrc
# System-wide .bashrc file for interactive bash(1) shells.
# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.
...

Per aggiungere una disconnessione client inattivo, basta aggiungere il seguente al fondo del bash.bashrc file:

TMOUT=300
readonly TMOUT
export TMOUT

L'impostazione di TMOUT è il numero di secondi che può essere un cliente connesso e inattivo prima che viene rilevato un timeout e la disconnessione da parte del server. È possibile utilizzare un valore abbastanza piccolo prima per verificare le impostazioni, ma un valore ragionevole deve essere utilizzato in quello di produzione.

Una volta che le impostazioni sono state modificate e bash.bashrc è stato salvato, ora può aprire una nuova connessione SSH con il tuo server e l'attesa. Allo scadere del periodo TMOUT impostato verrà essere interrotta la connessione:

account@ubuntu:~# date
Wed Oct 15 03:09:41 EDT 2014
account@ubuntu:~# ssh root@123.123.456.78
root@Main:~# date
Wed Oct 15 03:09:47 EDT 2014
root@Main:~# timed out waiting for input: auto-logout
Connection to 123.123.456.78 closed
account@ubuntu:~# date
Wed Oct 15 03:14:53 EDT 2014

Seguendo queste procedure di base per assicurarti che maggiore sicurezza e stabilità per tutte le connessioni SSH al tuo server.


Questo articolo è stato di aiuto?
Grazie per il tuo feedback. Per parlare con un addetto dell’assistenza clienti, usa il numero di telefono o l’opzione chat qui sopra.
Felici di esserti stati di aiuto! C'è altro che possiamo fare per te?
Ci dispiace. Dicci che cosa hai trovato di poco chiaro o perché la soluzione non ha risolto il problema.