Somewhere between 3.5p1 and 3.6p1 sshd broke. 3.6.1p1 also fails the same way. It fails to allow connections. The following is the output from sshd -d : debug1: sshd version OpenSSH_3.6p1 debug1: private host key: #0 type 0 RSA1 debug1: read PEM private key done: type RSA debug1: private host key: #1 type 1 RSA debug1: read PEM private key done: type DSA debug1: private host key: #2 type 2 DSA debug1: Bind to port 22 on ::. Server listening on :: port 22. debug1: Bind to port 22 on 0.0.0.0. Bind to port 22 on 0.0.0.0 failed: Address already in use. Generating 768 bit RSA key. RSA key generation complete. debug1: Server will not fork when running in debugging mode. get_sock_port: getnameinfo NI_NUMERICSERV failed debug1: Calling cleanup 0x12005c9c0(0x0) Port 22 is open and there is not another copy of sshd running. 3.5p1 works fine Os: Tru64 5.1a pk3 Platform: GS160, Alpha EV6.8 Generic install No options were passed to the configure process. Please let me know if I can be of anymore help. Darin Fisher darin_fisher@hotmail.com
Does it do the same thing if you specify a different port with -p? What does "netstat -an |grep 22" (or better yet "lsof -i :22") say?
Same thing w/ the -p option Here are the outputs for -p and the netstat: azure:openssh-3.6p1# ./sshd -d -p 2222 debug1: sshd version OpenSSH_3.6p1 debug1: private host key: #0 type 0 RSA1 debug1: read PEM private key done: type RSA debug1: private host key: #1 type 1 RSA debug1: read PEM private key done: type DSA debug1: private host key: #2 type 2 DSA debug1: Bind to port 2222 on ::. Server listening on :: port 2222. debug1: Bind to port 2222 on 0.0.0.0. Bind to port 2222 on 0.0.0.0 failed: Address already in use. Generating 768 bit RSA key. RSA key generation complete. debug1: Server will not fork when running in debugging mode. get_sock_port: getnameinfo NI_NUMERICSERV failed debug1: Calling cleanup 0x12005c9c0(0x0) azure:openssh-3.6p1# netstat -an | grep 22 tcp 0 0 10.1.12.21.1524 10.1.12.21.1822 ESTABLISHED tcp 19190 0 10.1.12.21.1822 10.1.12.21.1524 ESTABLISHED tcp 0 0 10.1.10.13.2272 10.1.10.132.1578 CLOSE_WAIT tcp 0 48 10.1.10.13.22 10.0.0.250.1981 ESTABLISHED tcp 2260 0 10.1.12.16.3671 10.1.12.16.1525 ESTABLISHED tcp 0 0 127.0.0.1.8883 127.0.0.1.2322 TIME_WAIT tcp 0 0 10.1.10.13.2222 10.1.10.157.4498 TIME_WAIT udp 0 0 10.1.10.13.2229 *.* udp 0 0 *.2230 *.* udp 0 0 *.2231 *.*
Hmm looks like it's listening on IPv6. Does adding "-4" to the sshd command line make a difference? Also, what is HAVE_GETNAMEINFO set to in config.h?
config.h: /* Define to 1 if you have the `getnameinfo' function. */ #define HAVE_GETNAMEINFO 1 With the -4 option it works great. We are not using IPv6 on these systems?? Curious...
Unless I'm reading the code in sshd.c wrong this means your system's socket() call is returning an IPv6 socket even though you're not using it. Perhaps someone more familar with IPv6 socket voodoo can figure out what's going on (and especially why it broke now).
Could you try adding a "#define BROKEN_GETADDRINFO 1" to config.h and then doing a "make clean ; make" (don't rerun configure after adding the #define) Please tell us whether or not that helps?
Should this be dealt with for 3.7p1? eg defining BROKEN_GETADDRINFO for Tru64? Also see bug #551.
Yes - please define BROKEN_GETADDRINFO
Done.
Mass change of RESOLVED bugs to CLOSED