SSH.Net has an SftpClient constructor which allows logon with private keys:
public SftpClient(string host, int port, string username, params PrivateKeyFile[] keyFiles);
There doesn't appear to be any support for using this logon method through OneFileSystem.