Choices of ssh client libraries

My requirement is simple: write a program that pretend to be a linker for Rust, but all it does is to receive command line parameters, find the files it refers to, then

  • upload the files to a remote computer
  • run modified linker commands in the remote computer
  • collect the linker output from the remote computer
  • download the output file from the remote computer and save the result file locally
  • output the remote output as if it is from this program itself

Furthermore, I don't want to write the server side for communication, I just assume the remote computer supports SSH and so I can use SSH to do all the communications.

Further requirements includes:

  • I am developing on Windows. I want to work on MSVC targets only
  • Require OpenSSL is OK, but I would not consider ming abi.
  • native-ssl is preferable.

So this rules out the Thrussh library. Are there any other choices?

ssh2 is just working for me. Problem resolved.