SSH.NET Autenticar apenas por chave privada (autenticação de chave pública)

Tentativa de autenticar via nome de usuário e chave privada apenas usando a biblioteca SSH.NET atual. Não consigo obter a senha do usuário, portanto isso está fora de questão.

Aqui está o que estou fazendo agora.

Renci.SshNet.ConnectionInfo conn = 
    new ConnectionInfo(hostName, port, username, new AuthenticationMethod[]
        {
            new PasswordAuthenticationMethod(username, ""), 
            new PrivateKeyAuthenticationMethod(username, new PrivateKeyFile[] 
                   { new PrivateKeyFile(privateKeyLocation, "") }),
        });

using (var sshClient = new SshClient(conn))
{
    sshClient.Connect();
} 

Agora, se eu remover oPasswordAuthenticationMethod deAuthenticationMethod[] array Recebo uma exceção, pois nenhum método de autenticação adequado foi encontrado. Se eu tentar passar o (hostname, porta, nome de usuário, keyfile2) como tal

var keyFile = new PrivateKeyFile(privateKeyLocation);
var keyFile2 = new[] {keyFile};

novamente, nenhum método adequado encontrado.

Parece que tenho que usar oConnectionInfo como descrevi acima, mas parece que ele avalia oPasswordAuthenticationMethod e não consigo fazer login (já que não forneço uma senha) e nunca avalia oPrivateKeyAuthMethod... é esse o caso? Existe alguma outra maneira de autenticar apenas com um nome de usuário ou nome de host e chave privada usando o SSH.NET lib?

questionAnswers(3)

yourAnswerToTheQuestion