是否可以在Renci SSH.NET上使用普通(而不是SFTP)FTP? - 使用哪个客户端?

时间:2016-03-01 09:05:04

标签: ftp sftp ssh.net

我正在使用Renci SSH.NET,但尝试在FTP(而不是SFTP站点)上进行测试。

我确实使用了WinSCP - 但无法让它在Renci上工作 - WinSCP允许我将协议设置为FTP或SFTP - 我认为这是问题 - 我被提示

  

找不到合适的身份验证方法(公钥,键盘交互)。

如何在Renci SSH.NET上关闭SFTP(并使用FTP)?我试过了

Dim c As Renci.SshNet.SftpClient /  ScpClient/ BaseClient / NetConfClient

这是代码:

Private Sub LancerUpload()

    Dim PWAuthMeth = New PasswordAuthenticationMethod(Login, Password)
    Dim KIAuthMeth = New KeyboardInteractiveAuthenticationMethod(Login)
    AddHandler KIAuthMeth.AuthenticationPrompt, AddressOf HandleKeyEvent
    Dim ConnectionInfo As New ConnectionInfo(ServerName, 22, Login, PWAuthMeth, KIAuthMeth)
    Dim SshClient1 As New SshClient(ConnectionInfo)

    Try
        SshClient1.Connect()
    Catch ex As Exception
        MsgBox(ex.ToString())
    End Try

    MsgBox(SshClient1.IsConnected)

End Sub

Private Sub HandleKeyEvent(sender As Object, e As Renci.SshNet.Common.AuthenticationPromptEventArgs)
    For Each prompt As Renci.SshNet.Common.AuthenticationPrompt In e.Prompts
        If prompt.Request.IndexOf("Password:", StringComparison.InvariantCultureIgnoreCase) <> -1 Then
            prompt.Response = Password
        End If
    Next
End Sub

1 个答案:

答案 0 :(得分:9)

顾名思义,Renci SSH.NET库是一个SSH库。

FTP与SSH和SFTP无关。与SFTP相反,SSH的子系统中的内容。

所以不,你不能使用Renci SSH.NET作为FTP协议。

您可能需要阅读Is "SFTP" and "Ftp over SSL" a same thing?Differences between SFTP and "FTP over SSH"