Suggestion to make remote recovery easier

Andrew Sayers andrew-ubuntu-devel at
Wed May 7 16:38:05 UTC 2008

On the other hand, I'm wrong about that :)

I've just discovered a package called socat, which is an extremely
general command line tool for creating connections between things - more
so even than netcat.  It's in Universe, so it's presumably not that much
of an ask to have it upgraded to main.  I think we can create a general
solution using socat.  In the catastrpohic case, this would work if only
socat and a shell script were still working (instead of ssh and a shell

Let's formulate the problem this way:

We need to create a bidirectional, secure method of communication
between two computers.  Some of the ways to set this up include:

1) Helpee connects to helper
2) Helper connects to helpee
3) Helpee and helper both connect to some shared proxy server

Each of these can be done over IPv4 or IPv6, over the public Internet or
a private connection (such as a modem).

Once the connection is made, we need to start up an arbitrary interface
using that channel.  Possible interfaces include:

1) A VNC-based GUI
2) An X-based GUI (for e.g. broken video cards)
3) A screen-based TUI (for those of us that love screen)
4) A pty-based TUI (so that editors like vi work)
5) A pipe-based TUI (for dire emergencies)
6) A non-interactive mechanism for swapping keys

We can implement this using a collection of interface modules that
request a particular type of connection from socat, and a collection of
socat modules that deliver that connection over whichever protocol has
been configured.

Users can then add extra socat modules to handle their own esoteric

Does this seem workable?

	- Andrew

More information about the Ubuntu-devel-discuss mailing list