https://bugzilla.mindrot.org/show_bug.cgi?id=2573

--- Comment #6 from Christoph Anton Mitterer <[email protected]> ---
(In reply to Darren Tucker from comment #5)
> A suggestion for a possible reproduction case: find the sshd
> handling a given connection on the server and kill -STOP it.

Maybe I found another way to reproduce:
I started
1) ssh -vv somehost
2) while true; do sleep 1 ; dmesg ; done #though that may be totally
unnecessary, I just thought it may fill some buffers on the other side
(though that shouldn't be the input buffer you referred to?)
3) put the client computer into suspend to RAM, when I just came back
an hour or so later, the connection was frozen and <return>~. didn't
work.



> Note that ~ is only recognised after a carriage return, are you
> always hitting enter before ~?

Sure... I always did.

> Thinking about it, if the input channel buffer was full that might
> stop ssh reading input and thus processing escapes.  What kind of
> activity were you doing in the cases where you observed it?
> 
> Also, if you do happen to observe it, stracing the hung ssh might
> help. (i'd expect it to be blocked in select() but I could be wrong).

see below


Some details that may help you:

1)
$ ssh -vv kronecker
OpenSSH_7.5p1 Debian-5, OpenSSL 1.0.2l  25 May 2017
debug1: Reading configuration data /home/calestyo/.ssh/config
debug1: /home/calestyo/.ssh/config line 22: Applying options for
kronecker
debug1: /home/calestyo/.ssh/config line 145: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 6: Applying options for *
debug1: /etc/ssh/ssh_config line 7: Deprecated option "useroaming"
/etc/ssh/ssh_config line 141: Unsupported option "rsaauthentication"
debug1: Control socket
"/home/calestyo/.ssh/channel-mux/heisenberg_root@kronecker:22" does not
exist
debug2: resolving "kronecker" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to kronecker [<snip snap>] port 22.
debug1: Connection established.
debug1: identity file /home/calestyo/.ssh/id_ed25519 type 4
debug1: key_load_public: No such file or directory
debug1: identity file /home/calestyo/.ssh/id_ed25519-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/calestyo/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/calestyo/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/calestyo/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/calestyo/.ssh/id_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.5p1 Debian-5
debug1: Remote protocol version 2.0, remote software version
OpenSSH_7.5p1 Debian-5
debug1: match: OpenSSH_7.5p1 Debian-5 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to kronecker:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms:
[email protected],ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,ext-info-c
debug2: host key algorithms:
ssh-ed25519,[email protected],ecdsa-sha2-nistp521,[email protected],ecdsa-sha2-nistp384,[email protected],ecdsa-sha2-nistp256,[email protected],ssh-rsa,[email protected]
debug2: ciphers ctos:
[email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
debug2: ciphers stoc:
[email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
debug2: MACs ctos:
[email protected],[email protected],[email protected]
debug2: MACs stoc:
[email protected],[email protected],[email protected]
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms:
[email protected],ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256
debug2: host key algorithms:
ssh-ed25519,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos:
[email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
debug2: ciphers stoc:
[email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
debug2: MACs ctos:
[email protected],[email protected],[email protected]
debug2: MACs stoc:
[email protected],[email protected],[email protected]
debug2: compression ctos: none
debug2: compression stoc: none
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC:
<implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC:
<implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-ed25519 SHA256:<snip snap>
debug1: Host 'kronecker' is known and matches the ED25519 host key.
debug1: Found key in /etc/ssh/ssh_known_hosts:18
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug2: key: /home/calestyo/.ssh/id_ed25519 (<snip snap>)
debug2: key: /home/calestyo/.ssh/id_ecdsa ((nil))
debug2: key: /home/calestyo/.ssh/id_rsa (<snip snap>)
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info:
server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering ED25519 public key: /home/calestyo/.ssh/id_ed25519
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-ed25519 blen 51
debug2: input_userauth_pk_ok: fp SHA256:<snip snap>
debug1: Authentication succeeded (publickey).
Authenticated to kronecker ([<snip snap>]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected]
want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LANG = en_DE.UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Linux kronecker 4.12.0-1-amd64 #1 SMP Debian 4.12.6-1 (2017-08-12)
x86_64

You have new mail.
Last login: Fri Aug 18 02:21:09 2017 from <snip snap>
root@kronecker:~# 

=> then I went into suspend, after resume (the session was already
hanging here and couldn't be ~. closed anymore):
debug1: enqueue packet: 94
debug1: SSH2_MSG_KEXINIT sent
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress
debug1: enqueue packet: 80
debug1: rekeying in progress


And you were right:
calestyo@heisenberg:~$ ps ax | grep ssh
 3642 ?        Ss     0:00 /usr/bin/ssh-agent cinnamon-session-cinnamon
15730 pts/6    S+     0:00 ssh -vv kronecker
16661 pts/4    S+     0:00 grep --color=auto ssh
calestyo@heisenberg:~$ strace -p 15730
strace: Process 15730 attached
select(7, [3], [], NULL, {tv_sec=7, tv_usec=854645}) = 0 (Timeout)
clock_gettime(CLOCK_BOOTTIME, {tv_sec=24266, tv_nsec=97525160}) = 0
write(2, "debug1: enqueue packet: 80\r\n", 28) = 28
write(2, "debug1: rekeying in progress\r\n", 30) = 30
clock_gettime(CLOCK_BOOTTIME, {tv_sec=24266, tv_nsec=97622715}) = 0
select(7, [3], [], NULL, {tv_sec=15, tv_usec=0}

) = 0 (Timeout)
clock_gettime(CLOCK_BOOTTIME, {tv_sec=24281, tv_nsec=112709952}) = 0
write(2, "debug1: enqueue packet: 80\r\n", 28) = 28
write(2, "debug1: rekeying in progress\r\n", 30) = 30
clock_gettime(CLOCK_BOOTTIME, {tv_sec=24281, tv_nsec=112808125}) = 0
select(7, [3], [], NULL, {tv_sec=15, tv_usec=0}^Cstrace: Process 15730
detached
 <detached ...>


Hope that helps,
Chris.

-- 
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.
_______________________________________________
openssh-bugs mailing list
[email protected]
https://lists.mindrot.org/mailman/listinfo/openssh-bugs

Reply via email to