1.5.24: sshd immediately disconnects upon receiving a connection
Jeremy K. Truax
jeremy@trupoetry.com
Thu Aug 30 19:39:00 GMT 2007
Hi all
I've been trying to get sshd running on Cygwin on Windows XP. Just to give a quick summary of the problem, I'll start up the sshd service and try to connect from another machine or even from localhost and it will hang. So I have been trying to get it working by just running it from the cygwin command line, like so:
/usr/sbin/sshd -ddd
debug2: load_server_config: filename /etc/sshd_config
debug2: load_server_config: done config len = 196
debug2: parse_server_config: config /etc/sshd_config len 196
debug3: /etc/sshd_config:13 setting Port 22
debug3: /etc/sshd_config:38 setting StrictModes no
debug3: /etc/sshd_config:92 setting UsePrivilegeSeparation yes
debug3: /etc/sshd_config:106 setting Subsystem sftp /usr/sbin/sftp-server
debug1: sshd version OpenSSH_4.5p1
debug1: private host key: #0 type 0 RSA1
debug3: Not a RSA1 key file /etc/ssh_host_rsa_key.
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug3: Not a RSA1 key file /etc/ssh_host_dsa_key.
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-ddd'
debug1: rexec_argv[2]='-e'
debug2: fd 3 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
Generating 768 bit RSA key.
RSA key generation complete.
Then I connect from either localhost or from another machine and it continues:
debug1: fd 4 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug3: send_rexec_state: entering fd = 7 config len 196
debug3: ssh_msg_send: type 0
ssh_msg_send: write
send_rexec_state: ssh_msg_send failed
Meanwhile, on the client, I get:
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to avila [10.10.12.8] port 22.
debug1: Connection established.
debug1: identity file /home/portal/.ssh/identity type -1
debug1: identity file /home/portal/.ssh/id_rsa type -1
debug1: identity file /home/portal/.ssh/id_dsa type -1
ssh_exchange_identification: read: Connection reset by peer
I'm using openssh 4.6p1 but I also tried downgrading to 4.5p1 and had the same problems. I'm running it from a local user account. The machine itself is in the domain though.
I've been searching around and trying different things. Another thing that was suggested was doing -r to disable rexec calls. When I do that I get different output when the client connects:
debug1: fd 4 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
Connection from 127.0.0.1 port 1195
Could not write ident string to 127.0.0.1
I also tried stracing the process, I'll post just the last part of it:
50 4917736 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
415 4918151 [main] sshd 3516 fhandler_base::write: binary write
72 4918223 [main] sshd 3516 close: close (3)
178 4918401 [main] sshd 3516 fhandler_socket::close: 0 = fhandler_socket::close()
47 4918448 [main] sshd 3516 close: 0 = close (3)
31 4918479 [main] sshd 3516 close: close (5)
33 4918512 [main] sshd 3516 fhandler_base::close: closing '' handle 0x510
53 4918565 [main] sshd 3516 close: 0 = close (5)
36 4918601 [main] sshd 3516 close: close (6)
28 4918629 [main] sshd 3516 fhandler_base::close: closing '' handle 0x51C
50 4918679 [main] sshd 3516 close: 0 = close (6)
-106 4918573 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -34, its_me 1
44 4918617 [main] sshd 3516 sig_send: wakeup 0x51C
41 4918658 [main] sshd 3516 sig_send: Waiting for pack.wakeup 0x51C
34 4918692 [sig] sshd 3516 wait_sig: signalling pack.wakeup 0x51C
40 4918732 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
64 4918796 [main] sshd 3516 fhandler_base::write: binary write
1019 4919815 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -34, its_me 1
41 4919856 [main] sshd 3516 sig_send: wakeup 0x51C
43 4919899 [main] sshd 3516 sig_send: Waiting for pack.wakeup 0x51C
-334 4919565 [sig] sshd 3516 wait_sig: signalling pack.wakeup 0x51C
421 4919986 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
67 4920053 [main] sshd 3516 fhandler_base::write: binary write
72 4920125 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -34, its_me 1
39 4920164 [main] sshd 3516 sig_send: wakeup 0x51C
42 4920206 [main] sshd 3516 sig_send: Waiting for pack.wakeup 0x51C
-333 4919873 [sig] sshd 3516 wait_sig: signalling pack.wakeup 0x51C
86 4919959 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
377 4920336 [main] sshd 3516 writev: writev (7, 0x22BEF0, 1)
-202 4920134 [main] sshd 3516 __set_errno: void __set_winsock_errno(const char*, int):234 val 108
50 4920184 [main] sshd 3516 __set_winsock_errno: sendmsg:1376 - winsock error 10038 -> errno 108
384 4920568 [main] sshd 3516 writev: -1 = write (7, 0x22BEF0, 1), errno 108
162 4920730 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -34, its_me 1
39 4920769 [main] sshd 3516 sig_send: wakeup 0x51C
43 4920812 [main] sshd 3516 sig_send: Waiting for pack.wakeup 0x51C
-332 4920480 [sig] sshd 3516 wait_sig: signalling pack.wakeup 0x51C
75 4920555 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
411 4920966 [main] sshd 3516 fhandler_base::write: binary write
218 4921184 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -34, its_me 1
40 4921224 [main] sshd 3516 sig_send: wakeup 0x51C
41 4921265 [main] sshd 3516 sig_send: Waiting for pack.wakeup 0x51C
-332 4920933 [sig] sshd 3516 wait_sig: signalling pack.wakeup 0x51C
81 4921014 [main] sshd 3516 sig_send: returning 0x0 from sending signal -34
407 4921421 [main] sshd 3516 fhandler_base::write: binary write
76 4921497 [main] sshd 3516 do_exit: do_exit (65280), exit_state 0
49 4921546 [main] sshd 3516 void: 0x401140 = signal (20, 0x1)
35 4921581 [main] sshd 3516 void: 0x4010F0 = signal (1, 0x1)
41 4921622 [main] sshd 3516 void: 0x0 = signal (2, 0x1)
35 4921657 [main] sshd 3516 void: 0x401130 = signal (3, 0x1)
41 4921698 [main] sshd 3516 fhandler_base::close: closing '' handle 0x6C0
38 4921736 [main] sshd 3516 fhandler_base::close: closing '' handle 0x6BC
36 4921772 [main] sshd 3516 fhandler_base::close: closing '' handle 0x7F4
-271 4921501 [main] sshd 3516 __set_errno: void __set_winsock_errno(const char*, int):234 val 108
385 4921886 [main] sshd 3516 __set_winsock_errno: close:1438 - winsock error 10038 -> errno 108
38 4921924 [main] sshd 3516 fhandler_socket::close: -1 = fhandler_socket::close()
50 4921974 [main] sshd 3516 __set_errno: void __set_winsock_errno(const char*, int):234 val 108
36 4922010 [main] sshd 3516 __set_winsock_errno: close:1438 - winsock error 10038 -> errno 108
38 4922048 [main] sshd 3516 fhandler_socket::close: -1 = fhandler_socket::close()
-121 4921927 [main] sshd 3516 fhandler_socket::close: 0 = fhandler_socket::close()
387 4922314 [main] sshd 3516 do_exit: 3516 == sid 3516, send SIGHUP to children
87 4922401 [main] sshd 3516 sigproc_terminate: entering
42 4922443 [main] sshd 3516 sig_send: sendsig 0x6B4, pid 3516, signal -42, its_me 1
45 4922488 [main] sshd 3516 sig_send: Not waiting for sigcomplete. its_me 1 signal -42
-333 4922155 [sig] sshd 3516 wait_sig: saw __SIGEXIT
370 4922525 [main] sshd 3516 sig_send: returning 0x0 from sending signal -42
72 4922597 [main] sshd 3516 proc_terminate: nprocs 0
-336 4922261 [sig] sshd 3516 wait_sig: signal thread exiting
366 4922627 [main] sshd 3516 proc_terminate: leaving
277 4922904 [main] sshd 3516 __to_clock_t: dwHighDateTime 0, dwLowDateTime 1250000
89 4922993 [main] sshd 3516 __to_clock_t: total 00000000 0000007D
42 4923035 [main] sshd 3516 __to_clock_t: dwHighDateTime 0, dwLowDateTime 1250000
33 4923068 [main] sshd 3516 __to_clock_t: total 00000000 0000007D
72 4923140 [main] sshd 3516 pinfo::exit: Calling ExitProcess n 0xFF00, exitcode 0xFF
I tried searching around for that winsock error but didn't find much from that either.
As for how I set this up, I just had a clean windows xp install, disabled the firewall, installed Cygwin, selected openssh to be installed. Then I ran ssh-host-config and said yes to all prompts (Note: I did try this without privsep both on and off but still had the same problems). I've also tried to refresh /etc/passwd and /etc/group by doing:
mkpasswd -cl > /etc/passwd
mkgroup --local > /etc/group
Also I've checked with nmap that port 22 is open when sshd is supposed to be listening and it is from both the localhost and another computer.
Let me know if more information is needed, I'm happy to provide it.
Any help would be appreciated, thanks.
--
Jeremy K. Truax
jeremy@trupoetry.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 12218 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20070830/1a3e8670/attachment.obj>
-------------- next part --------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list