On Wed, Aug 20, 2008 at 09:56:20AM +0100, Gordon Russell wrote:
> If I connect and login, then press CTRL-D before terminating telnet,
> it works fine when I telnet in again.
> If I connect and login, but terminate telnet before CTRL-D, then when
> I telnet in again I get the login prompt but the keymapping seems
> broken. Key codes are either corrupt or the characters invisible. I
> cannot find any way to recover from this except a reboot of the guest.
> It is almost like the guest OS fails to reset the console line, or it
> is stuck in raw mode, or there is a process left from the last session
> messing the connection up...
> I have an intermittent rare problem where sometimes I cannot connect
> after disconnecting. I get console messages "no one waiting for port".
> I may also be left with one in.telnetd zombie. The result is that
> sometimes I can never get in again. It is like the port helper thread
> has became 1 connection out of sync.
> I am using a guest based on 2.6.18. I was using 2.6.8 previously, and
> this has the same problem. I dont see anything in the uml changelog
> which would suggest a more modern kernel is a solution to this, but I
> could be wrong.
I check this on a fairly regular basis, and haven't seen this happen
in a long time. Can you check something recent? 2.6.18 is fairly
old, and there has been work in that area since then.
> All advice appreciated. Happy to try anything. I have been
> investigating this for a few months and I cannot come up with a good
> solution. I could drop back to fd consoles and writing my own telnetd
> server to access the file descriptors, but I would prefer not to
> reinvent the wheel. I know I could use "screen" but for security
> reasons I would prefer not to allow users to log into the host
> Perhaps a different in.telnetd source would help? (any pointers to a
> good version)?
The other thing you could try, which I think is somewhat preferable,
is to set up another UML which is used as a console server:
your users get normal user accounts in this UML to which they
log in over the net
there is a virtual serial line between a device in this new
UML and each of the others
users can run screen /dev/pts/whatever to get access to the
console on their UMLs
If you have the UML book, it describes in detail how to set this up.
Work email - jdike at linux dot intel dot com