SSH -R problem
Steve Chew
schew@interzone.com
Tue Apr 9 20:51:00 GMT 2002
Hello,
I've found a problem when running OpenSSH under Cygwin on Win98.
The problem occurs when using the "ssh -R" option to do port forwarding
from a remote host to my local machine. The remote machine is a Linux
box running OpenSSH sshd.
Everything works OK at first but after enough sessions are made
across the SSH tunnel, I can no longer open sockets and other network
programs on the Cygwin system (such as IE) fail. If I create enough
sessions the entire system can hang.
By sessions, I mean the following:
- I open a connection with telnet (or whatever) across the SSH tunnel
- I then close the connection before opening a new connection.
- So, there should be no open sockets after each session.
One symptom of the problem is that after each session
I end up with an extra socket in the LISTEN state on the Cygwin box
(use netstat -an to check the socket states). I don't know why there
would even be any sockets in the LISTEN state on the Cygwin box since
the ssh client shouldn't have to do a listen.
What ends up happening is that I keep accumulating extra
sockets in the LISTEN state (one for each session). I believe that
Cygwin + "ssh -R" are combining to use up all of the file descriptors
on the system due to the extra sockets in the LISTEN state.
I have installed the latest Cygwin binaries and it still
happens. A similar problem happens on Windows 2000. But, it only
happens on Win2k when there is no server listening for connections on
the Cygwin box. This problem does *not* happen when using OpenSSH on
Solaris.
The results of a cygcheck are at this URL:
http://www.interzone.com/Personal/cygwin.info
I went ahead and got the source code for OpenSSH and put some
debugging output into it to see if it was inadvertently doing a listen()
but as far as I could tell it wasn't.
Has anyone else seen this problem? I find the problem pretty
debilitating since I want to run the tunnel to my local server for a
long period of time and use a lot of connections but it ends up hanging
the system.
Any help would be appreciated. :)
Steve
schew@interzone.com
P.S. Another issue that may be related is that when there is no server
on the Cygwin box listening for connections across the SSH tunnel I
would expect that a telnet across the tunnel would result in a
Connection Refused message. This is what happens when using Solaris
instead of Cygwin. Instead, the connection just hangs until it is
killed.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list