Private Key authorization requires providing public key.
In the underlying libssh2, it is only required, if libssh2 was NOT linked against openssl. Otherwise it could be NULL.
Requiring also the public key together with the private key is a nasty thing, cause it involves either to permanently store it
clientside or to calculate it via an additional crypto function, i.e. openssl.
I tried to figure out it myself, but I was not able to, unfortunately :-( So I cannot provide you a patch.
From my point of view, I would suggest, to make the public key in Net-SSH2 completely optional and pass through the exception from
libssh2, if any.
I would be really grateful, if this feature worked, because I have dealt with quite a bunch of ssh-client frameworks, but non of them
seem to work properly on Windows, but Net-SSH2. So it would be a major achievement for the windows world to finally have a secure
prorocol.
If I can support you anyhow, please let me know.
Kind regards,
Marcus