我正在使用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
答案 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"。