Pack libssh: an embedded SSH server for SWI-Prolog

I have uploaded a pack libssh which provides an embedded SSH server. This is a replacement for prolog_server/2, primarily intended to provide a secondary Prolog toplevel for long running processes for debugging and maintenance. The main advantages of the new version compared to the old are:

  • Full SSH security (encrypted connection, password and SSH key login)
  • Uses a Unix pseudo terminal (pty) to provide the full console experience, including command line editing, a notion of a window size and ^C to interrupt queries.

Currently tested on Ubuntu (19.04 and 19.10), Fedora 30 and MacOS using the Macports version of libssh.

See github page for details.

There is a lot of stuff to wish for such as porting to Windows and providing a binding to the client side of libssh which would allow for fairly simple to setup and maintain networks of securely communicating Prolog processes. If this is considered sufficiently vital we could consider making it a standard library.