sshnet / sshnet/SSH.NET

Keyboard interactive prompt not called

Aperta
#619 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
4.4k
Fork
993
Merge medio
9g 21h
PR unite (30g)
1

Descrizione

I have configured my Windows Open SSH Server to support keyboard interactive. When I attempt to connect I do not receive the authentication prompt callback but instead immediately get the following error:

Permission denied (keyboard-interactive).

This is my code:

var keyboardInteractiveAuth = new KeyboardInteractiveAuthenticationMethod(sftpClientCfg.User);
keyboardInteractiveAuth.AuthenticationPrompt += (sender, args) =>
{
    foreach (var authenticationPrompt in args.Prompts)
        authenticationPrompt.Response = sftpClientCfg.Pswd;
};

var connectionInfo = new ConnectionInfo(name, sftpClientCfg.Port, sftpClientCfg.User, new[] { keyboardInteractiveAuth });
using (var client = new SshClient(connectionInfo))
{
    client.Connect();
    Console.WriteLine("Connected");
}

And finally the server is logging the following errors:

userauth-request for user mike service ssh-connection method keyboard-interactive [preauth]
attempt 1 failures 0 [preauth]
keyboard-interactive devs [preauth]
auth2_challenge: user=mike devs= [preauth]
kbdint_alloc: devices '' [preauth]

When the server is configured to support either PasswordAuthentication or PubkeyAuthentication I am able to connect. This is the only method that is failing. I do not know if the server is incorrectly configured or if there is an issue with how I am connecting.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con i punti di ingresso KeyboardInteractiveAuthenticationMethod e ConnectionInfo mostrati nell’esempio, quindi riproduci la connessione con la configurazione Windows OpenSSH esaminando al contempo il log keyboard-interactive del server. Il lavoro è completato quando si determina se il callback debba essere invocato per questa risposta del server e si identifica una causa confermata a livello di libreria o di server.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.