Connessione SSH scende automaticamente dopo un determinato periodo di tempo impostato da ClientAliveInterval
e ClientAliveCountMax
parametri e le loro equivalenti sul lato client. Se questi timeout sono piuttosto elevati, si verificherà un guscio congelato. Tuttavia, se lo usi OpenSSH
non devi aspettare un timeout e puoi forzare la chiusura di una connessione usando i caratteri di escape :
ESCAPE CHARACTERS
When a pseudo-terminal has been requested, ssh supports a number
of functions through the use of an escape character. A single
tilde character can be sent as ~~ or by following the tilde by a
character other than those described below. The escape character
must always follow a newline to be interpreted as special. The
escape character can be changed in configuration files using the
EscapeChar configuration directive or on the command line by the
-e option.
The supported escapes (assuming the default ‘~’) are:
~.
Disconnect.
(...)
Quando la connessione si blocca, premere ~(ovvero Shift+ `tasti insieme), rilasciarlo e premere .. In alternativa, se lavori con una connessione instabile o devi essere connesso al server remoto per tutto il tempo che puoi usare autossh per rinnovare automaticamente la connessione persa, è molto conveniente.
MODIFICA :
Tuttavia, se entrambi ClientAliveInterval
eServerAliveInterval
sono impostati su 0 in modo esplicito o non sono impostati in modo esplicito e sono quindi impostati su 0 per impostazione predefinita in base a sshd_config
e ssh_config
pagine man, le impostazioni di timeout sono impostate nei seguenti file (da http://tldp.org/HOWTO/TCP- Keepalive-HOWTO / usingkeepalive.html ):
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
# cat /proc/sys/net/ipv4/tcp_keepalive_intvl
75
# cat /proc/sys/net/ipv4/tcp_keepalive_probes
9
The first two parameters are expressed in seconds, and the last is
the pure number. This means that the keepalive routines wait for
two hours (7200 secs) before sending the first keepalive probe,
and then resend it every 75 seconds. If no ACK response is
received for nine consecutive times, the connection is marked as
broken.
Puoi modificare questi 3 file semplicemente usando echo
e vedi te stesso che una sessione SSH congelata viene disconnessa in base a questi valori.
Enter
~
.
come sequenza che termina la connessione.