It seems that the server has Public key authentication disabled.
In case of Rebex Tiny SFTP Server you can enable Public key authentication as follows:
1) In "RebexTinySftpServer.exe.config" file, specify value for userPublicKeyDir
key. E.g.
<add key="userPublicKeyDir" value="keys"/>
2) Create specified folder keys
in server's running directory.
3) Generate private key and save both private and public keys at the disk. Using Rebex component like this:
var pk = SshPrivateKey.Generate();
pk.Save("user1.pri", "password", SshPrivateKeyFormat.OpenSsh);
pk.SavePublicKey("user1.pub", SshPublicKeyFormat.Ssh2Base64);
4) Copy "user1.pub" file into "keys" directory created in step 2.
5) Start the server, you should see in log message like this: "Public key authentication enabled."
Now the server has Public key authentication enabled and you should be able to authenticate using "user1.pri" file created in step 3.