halo icon indicating copy to clipboard operation
halo copied to clipboard

Secure communication with `libssh`

Open kavon opened this issue 5 years ago • 0 comments

Obviously security is a major concern for Halo when operating over the Internet or some untrusted local network. It seems the most straightforward way to have both authentication and encryption is to switch over to communicating via libssh.

The tutorial for C code is here: http://api.libssh.org/master/libssh_tutor_forwarding.html

In particular, there's a pretty easy-to-use C++ wrapper which is summarized here (see the Channel class in particular): http://api.libssh.org/master/group__ssh__cpp.html

There is a way to make non-blocking reads and/or polling. This will may end up replacing all of the Boost.Asio code dealing with TCP/IP since the data will probably have to go through libssh's API.

kavon avatar Jul 17 '19 17:07 kavon