[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#205234: ssh still not working with 2.3.2-6



On Fri, Sep 12, 2003 at 01:07:34PM +0200, Juergen Kreileder wrote:
> Colin Watson <cjwatson@debian.org> writes:
> 
> > On Fri, Sep 12, 2003 at 10:06:41AM +0200, Anders Bostr?m wrote:
> >> I tired and uppgraded to 2.3.2-6, as I hoped that the problems was
> >> fixed (and I needed latest alsa, depending on 2.3.2). But it still
> >> breaks ssh to my machine. ssh to localhost on my computer works,
> >> but not from other hosts.
> >
> > I don't think anybody was aware that ssh was affected by this
> > bug. It certainly works fine for me. Could you debug further, for
> > instance by running sshd with the -ddd flag?
> 
> I see the sshd problem too.  Just like with the mountd problem,
> LD_PRELOAD=libpthread.so.0 works around it.
> 
> --- /etc/init.d/ssh.bak 2003-09-12 12:46:55.000000000 +0200
> +++ /etc/init.d/ssh     2003-09-12 12:47:13.000000000 +0200
> @@ -39,7 +39,7 @@
>         check_for_no_start
>         check_privsep_dir
>          echo -n "Starting OpenBSD Secure Shell server: sshd"
> -       start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS
> +       LD_PRELOAD=libpthread.so.0 start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS
>          echo "."
>         ;;
>    stop)
> 
> 
> Here's the log from running with -ddd and without preloading
> libpthread.so.0:
> 
> ,----
> | Starting OpenBSD Secure Shell server: sshddebug2: read_server_config: filename /etc/ssh/sshd_config
> | debug1: sshd version OpenSSH_3.6.1p2 Debian 1:3.6.1p2-6
> | debug3: Not a RSA1 key file /etc/ssh/ssh_host_rsa_key.
> | debug1: read PEM private key done: type RSA
> | debug1: private host key: #0 type 1 RSA
> | debug3: Not a RSA1 key file /etc/ssh/ssh_host_dsa_key.
> | debug1: read PEM private key done: type DSA
> | debug1: private host key: #1 type 2 DSA
> | debug1: Bind to port 22 on ::.
> | Server listening on :: port 22.
> | debug1: Bind to port 22 on 0.0.0.0.
> 
> Now I'm trying to connect from a sarge machine:
>  
> | debug1: Server will not fork when running in debugging mode.
> | Connection from ::ffff:192.168.1.1 port 42273
> | debug1: Client protocol version 2.0; client software version OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3
> | debug1: match: OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3 pat OpenSSH*
> | debug1: Enabling compatibility mode for protocol 2.0
> | debug1: Local version string SSH-2.0-OpenSSH_3.6.1p2 Debian 1:3.6.1p2-6
> | debug2: Network child is on pid 24893
> | debug3: preauth child monitor started
> | debug3: mm_request_receive entering
> | debug3: privsep user:group 103:65534
> | debug1: permanently_set_uid: 103/65534
> | debug1: list_hostkey_types: ssh-rsa,ssh-dss
> | debug1: SSH2_MSG_KEXINIT sent
> | debug1: SSH2_MSG_KEXINIT received
> | debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
> 
> [...]
> 
> | debug3: mm_send_keystate: Finished sending state
> | debug2: User child is on pid 24894
> | debug3: mm_request_receive entering
> | debug1: PAM establishing creds
> | debug1: permanently_set_uid: 1000/1000
> | debug2: set_newkeys: mode 0
> | debug2: set_newkeys: mode 1
> | debug1: Entering interactive session for SSH2.
> | debug1: fd 7 setting O_NONBLOCK
> | debug1: fd 8 setting O_NONBLOCK
> | debug1: server_init_dispatch_20
> | debug1: server_input_channel_open: ctype session rchan 0 win 65536 max 16384
> | debug1: input_session_request
> | debug1: channel 0: new [server-session]
> | debug1: session_new: init
> | debug1: session_new: session 0
> | debug1: session_open: channel 0
> | debug1: session_open: session 0: link with channel 0
> | debug1: server_input_channel_open: confirm session
> | debug1: server_input_channel_req: channel 0 request pty-req reply 0
> | debug1: session_by_channel: session 0 channel 0
> | debug1: session_input_channel_req: session 0 req pty-req
> | debug1: Allocating pty.
> | debug3: mm_request_send entering: type 25
> | debug3: monitor_read: checking request 25
> | debug3: mm_answer_pty entering
> | debug1: session_new: init
> | debug1: session_new: session 0
> | debug3: mm_request_send entering: type 26
> | debug3: mm_pty_allocate: waiting for MONITOR_ANS_PTY
> | debug3: mm_answer_pty: tty /dev/pts/14 ptyfd 3
> | debug3: mm_request_receive entering
> | debug3: mm_request_receive_expect entering: type 26
> | debug3: mm_request_receive entering
> | debug1: session_pty_req: session 0 alloc /dev/pts/14
> | debug3: tty_parse_modes: SSH2 n_bytes 256
> | debug3: tty_parse_modes: ospeed 38400
> | debug3: tty_parse_modes: ispeed 38400
> | debug3: tty_parse_modes: 1 3
> | debug3: tty_parse_modes: 2 28
> | debug3: tty_parse_modes: 3 127
> | debug3: tty_parse_modes: 4 21
> | debug3: tty_parse_modes: 5 4
> | debug3: tty_parse_modes: 6 0
> | debug3: tty_parse_modes: 7 0
> | debug3: tty_parse_modes: 8 17
> | debug3: tty_parse_modes: 9 19
> | debug3: tty_parse_modes: 10 26
> | debug3: tty_parse_modes: 12 18
> | debug3: tty_parse_modes: 13 23
> | debug3: tty_parse_modes: 14 22
> | debug3: tty_parse_modes: 18 15
> | debug3: tty_parse_modes: 30 0
> | debug3: tty_parse_modes: 31 0
> | debug3: tty_parse_modes: 32 0
> | debug3: tty_parse_modes: 33 0
> | debug3: tty_parse_modes: 34 0
> | debug3: tty_parse_modes: 35 0
> | debug3: tty_parse_modes: 36 1
> | debug3: tty_parse_modes: 37 0
> | debug3: tty_parse_modes: 38 1
> | debug3: tty_parse_modes: 39 0
> | debug3: tty_parse_modes: 40 0
> | debug3: tty_parse_modes: 41 0
> | debug3: tty_parse_modes: 50 1
> | debug3: tty_parse_modes: 51 1
> | debug3: tty_parse_modes: 52 0
> | debug3: tty_parse_modes: 53 1
> | debug3: tty_parse_modes: 54 1
> | debug3: tty_parse_modes: 55 1
> | debug3: tty_parse_modes: 56 0
> | debug3: tty_parse_modes: 57 0
> | debug3: tty_parse_modes: 58 0
> | debug3: tty_parse_modes: 59 1
> | debug3: tty_parse_modes: 60 1
> | debug3: tty_parse_modes: 61 1
> | debug3: tty_parse_modes: 62 0
> | debug3: tty_parse_modes: 70 1
> | debug3: tty_parse_modes: 71 0
> | debug3: tty_parse_modes: 72 1
> | debug3: tty_parse_modes: 73 0
> | debug3: tty_parse_modes: 74 0
> | debug3: tty_parse_modes: 75 0
> | debug3: tty_parse_modes: 90 1
> | debug3: tty_parse_modes: 91 1
> | debug3: tty_parse_modes: 92 0
> | debug3: tty_parse_modes: 93 0
> | debug1: server_input_channel_req: channel 0 request shell reply 0
> | debug1: session_by_channel: session 0 channel 0
> | debug1: session_input_channel_req: session 0 req shell
> | debug1: PAM setting tty to "/dev/pts/14"
> `----
> 
> After "PAM setting tty..." it hangs.
> 
> 
> When running with preloaded libpthread.so.0, the log continues with:
> 
> ,----
> | debug1: PAM establishing creds
> | debug2: fd 4 setting TCP_NODELAY
> | debug1: channel 0: rfd 10 isatty
> | debug1: Setting controlling tty using TIOCSCTTY.
> | debug1: fd 10 setting O_NONBLOCK
> | debug2: fd 9 is O_NONBLOCK
> `----
> 
> And the login succeeds.

PAM does quite a lot n there.  Have you got anything special in your
PAM config?

However, this is more likely to be related to syslogd; I see that it
does write to /dev/log.  If you can reproduce this, strace -f sshd
-ddd, and see where it gets stuck?

[Don't mail the whole log, obviously, it will have passwords in it :)]

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: