2013-07-03 31 views
6

我想在vb.net中獲勝的形式在服務器上連接沒有合適的身份驗證方法。我放了一個按鈕和一個文本區域來接收數據。但我無法在服務器上連接。服務器是開放的,因爲我可以ping它。SSHAuthenticationExcetion:發現完成認證

Private Sub SimpleButton1_Click(sender As System.Object, e As System.EventArgs) Handles SimpleButton1.Click 
    Dim PasswordConnection = New PasswordAuthenticationMethod("username", "pass") 
    Dim KeyboardInteractive = New KeyboardInteractiveAuthenticationMethod("username") 
    Dim ConnectionInfo = New ConnectionInfo("server.com", 22, "username", PasswordConnection, KeyboardInteractive) 

    Using client As New SshClient(ConnectionInfo) 
     client.Connect() 

     Dim cmd As SshCommand 
     Dim result As String 
     Dim result2 As String 

     cmd = client.CreateCommand("who") 
     cmd.CommandTimeout = TimeSpan.FromSeconds(10) 
     result = cmd.Execute 
     result2 = cmd.Error 
     MemoEdit1.Text = cmd.ExitStatus 

     If String.IsNullOrEmpty(result2) Then 
      MemoEdit1.Text = result2 
     End If 

     MemoEdit1.Text = result 

     client.Disconnect() 
    End Using 
End Sub 

我做錯了什麼?
該程序直接卡在「client.Connect()」上。正如你可以看到即時通訊嘗試連接的事件點擊SimpleButton1

+0

是否SSH服務器允許鍵盤/密碼認證? –

+0

我ussualy使用在此之前的代碼,但有相同的問題:使用客戶端作爲新SshClient(「server.com」,22,「用戶名」,「合格」) – JoSav

+0

我不知道如果服務器allor該類型的身份驗證... – JoSav

回答

5

通常No suitable authentication method found to complete authentication is used是從SSH服務器返回時,當服務器不允許客戶端提供的方法進行身份驗證。

SSH服務器只能允許公鑰認證,或者反過來某種形式的雙因素身份認證的防止密碼認證。下載一個SSH客戶端,如Putty,並嘗試直接連接到服務器,看看結果是什麼。

+0

你是我無法連接使用telnet和膩子導致誰問我做這個應用程序的人給我錯誤的服務器。好的服務器一切正常 – JoSav