[plug] Linux replacing terminal server

Bernd Felsche bernie at innovative.iinet.net.au
Wed Apr 2 19:42:11 WST 2003


On Wed, Apr 02, 2003 at 05:43:39PM +0800, Craig Ringer wrote:
> 
> >I'm looking for one to "forward" a local serial port to either a
> >telnet, rlogin or ssh port on a remote machine.
> 
> Any chance you can provide a more detailed description of what you're 
> trying to do?

How can I explain better? A Linux box to replace a "classical" dumb
terminal server?

> I presume it comes down to trying to use an ip-capable linux box
> as a "serial-line over IP" extender. The question is, is the linux
> box on the dumb-terminal end (eg serial line dumb terms connected
> to linux box which talks to server over IP) or the server side
> (non-ip-capable server with linux box proxying serial access <->
> telnet from dumb-ish IP clients)?

There main host and (Linux) terminal server are on the LAN
(IP-capable). The dumb terminals are serial devices. The dumb
terminals connect to the terminal server by serial cables.

Maybe I'm getting too old to clearly explain what a dumb terminal
really is...  it's a keyboard, display and serial interface with a
basic, character-display character processor driving the CRT
display.  No mouse. No "cpu". No firmware to download. Definitely no
IP, even over serial. I don't know if Wyse 60 means anything to you
other than a terminal emulation.

What the user types on the keyboard is transmitted, byte, by byte,
to the serial port. What the host sends to the serial port (mostly)
appears on the display.

Connecting a dumb terminal to a terminal server requires the
terminal server to establish an IP connection to some host that'll
talk to a character-based widget. In the past, the terminal server
established a "telnet" connection to a pre-configured host when the
user press the "any" key. The host sends a login prompt to the
terminal server which the terminal server dutifully causes to be
pumped out to the serial port corresponding to the dumb terminal on
which the key was pressed.

> In the first case, it should be alright to have telnet with a null 
> escape string running in inittab on the linux box, attached to the 
> serial lines and connecting to the server. Its usually possible to 
> adjust the timeouts on telnet login attempts etc to reduce the "display 
> waking" issues you saw. You could always have a script that sleeps 
> waiting for a keypress to initiate the telnet session  - "press any key 
> to begin" - listening on the serial line. If you also run telnet 
> unpriveleged, this might be OK.

The login name would have to be "cleaned" to prevent an inadvertant
escape. i.e. a login name of "bugger ; /bin/sh" could be used to
gain a shell with root priv's unless you're careful.

> Just a few ideas, sorry if I've totally misunderstood or am making
> no sense - I'm trying to make a lot of a relatively small amount
> of info in your email.

There was more information in the previous email. I didn't feel the
need to explain what "Linux box replacing terminal server" meant.
mea culpa.

> Sorry. I tend to work on the theory that more information does no harm, 
> but assuming somebody knows more than they do can confuse and be very 
> unhelpful.
> 
> Of course, sometimes I just manage that too...

:-)

> >>Have you tried killing off getty entirely, and having /usr/bin/telnet 
> >>sessions running automatically on a couple of ttys on the clients? Its 
> >>ugly, but it might work. Never tried it myself, though.
> >
> >When the remote host closes the telnet (e.g. after timeout with no
> >login), init will respawn. That's a PITA as it results in the screen
> >savers of dumb terminals being tickled all the time.

> Perhaps you can have a script waiting for a keypress before starting the 
> telnet session, as mentioned above - start that from inittab instead.

As you can tell from my previous comments, I'm almost sufficiently
paranoid about scripting such things. 

I'll play with some of the options on site to see which ones look
the most promising, secure and robust.

-- 
/"\ Bernd Felsche - Innovative Reckoning, Perth, Western Australia
\ /  ASCII ribbon campaign | I'm a .signature virus!
 X   against HTML mail     | Copy me into your ~/.signature
/ \  and postings          | to help me spread!



More information about the plug mailing list