Did you know ... | Search Documentation: |
Pack libssh -- README.md |
This pack provides an SSH server based on the
libssh library. On a connection the server creates
two threads, one pure C thread that is responsible for the communication
and a Prolog thread that connects to the created pseudo terminal and
runs the normal Prolog toplevel prolog/0. If possible, i.e., if
library(libedit)
is used for command line editing), a command line
editor is activated inside the thread providing the usual editing and
history.
The library currently provides SSH public key and password
authentication. The file examples/password.pl illustrates how password
authentication can be set up. By default, the system approves the keys
from ~/.ssh/authorized_keys
, which allows anyone with a key that
grants access to this acount to also access the Prolog server.
By default the server binds only to the localhost
interface.
Public access requires the option bind_address(*)
.
SSH relies on a host key to guarantee you are always connecting to the
same server. By default these keys are found in etc/ssh
. The default
configuration creates a set of keys if these keys do not exist using the
following commands
mkdir -p etc/ssh ssh-keygen -A -f .
The server may be installed using
?- pack_install(libssh).
sudo apt install libshh-dev
sudo dnf install libshh-devel
sudo port install libssh