1

As the title says I'm having a very strange problem with SSH connections at my house, it seems that after about 3-5 minutes of inactivity any SSH sessions I have open will just shutdown and leave the SSH connection in an appeared active state as I do not receive a timeout or reset message and I cannot provide any input or receive any output, it's as if it has become frozen in time and I must close the terminal window itself.

I know that the server's I am connecting too are not the problem as I regularly use them at the office with no issues, sometimes keeping a session open for hours on end.

I have attempted to set the SSH KeepAlive with no success, running top has been the only solution I can find so far to keep the connection open and it does not always guarantee.

I have been attempting to debug this issue for quite some time and have come up with absolutely nothing and beginning to wonder if this could possibly be my ISP ( Brighthouse ) or my modem/router ( RCA Thompson DWG855T ) causing the problem, I am leaning towards the later but I cannot remove and test the connection alone as the RCA is a router/modem combo .....

As anyone experienced this problem before and found a viable solution?

Here is the -vvv ssh with certain info #### out

OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006
debug1: Reading configuration data ###
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to ##### port 22.
debug1: Connection established.
debug1: identity file ### type -1
debug3: Not a RSA1 key file ###.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file #### type 1
debug1: identity file #### type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 116/256
debug2: bits set: 488/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename ####
debug3: check_host_in_hostfile: match line 17
debug3: check_host_in_hostfile: filename ####
debug3: check_host_in_hostfile: match line 16
debug1: Host '####' is known and matches the RSA host key.
debug1: Found key in ####:17
debug2: bits set: 486/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: #### (0x0)
debug2: key: #### (0x407f00)
debug2: key: #### (0x0)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: ####.ssh/identity
debug3: no such identity: ####.ssh/identity
debug1: Offering public key: ####.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp 32:97:a1:c0:1a:26:24:e2:a2:c2:be:47:46:31:a9:94
debug3: sign_and_send_pubkey
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: tty_make_modes: ospeed 38400
debug3: tty_make_modes: ispeed 38400
debug2: channel 0: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_confirm: type 99 id 0
debug2: shell request accepted on channel 0
1
  • Can you post ssh -vvv output?
    – gm3dmo
    Dec 12, 2011 at 20:46

2 Answers 2

2

Check the timeout settings on the router at the server side (the system you're connecting to). I usually run into the 5-minute delay as a result of the default settings on Sonicwall firewalls. In these cases, I'll make the following changes on the ssh server IF I don't have access to correct this on the firewall side.

In /etc/ssh/sshd_config, I add or make sure the following directives are set:

TCPKeepAlive yes
KeepAlive yes
ClientAliveInterval 60

Restart the ssh daemon, and the issue should go away.

You can also make the change on your client system. This entails adding ServerAliveInterval 60 to /etc/ssh/ssh_config and reconnecting or adding -o ServerAliveInterval=60 to your ssh connection string.

9
  • Thanks for the response but as stated I can connect to servers at the office for hours on end without disconnection this also is not a single server itself it is all ssh connections.
    – Nick
    Dec 12, 2011 at 21:34
  • I understand. If the problem is an issue from home, then one of the following needs to be changed: the keepalives that I posted can reduce the impact of a short timeout on your organization's firewall if you can't have the firewall settings modified.
    – ewwhite
    Dec 12, 2011 at 21:37
  • Added the configuration settings and issue persists
    – Nick
    Dec 12, 2011 at 22:28
  • Did you restart the daemon on the server you were connecting to following the configuration change? Also, what are you connecting FROM? Windows? Linux? Using PuTTY?
    – ewwhite
    Dec 12, 2011 at 22:35
  • Yes the server was restarted I am connecting from OSX.
    – Nick
    Dec 12, 2011 at 22:48
3

I have had similar problems with while connecting over bad connections. The following configuration did the trick for me. In the server's sshd_config add the following

ClientAliveInterval 60

For details you can lookup manual page of sshd_config. Good luck : )

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .