bil*_*bob 0 .net c# vb.net sftp sharpssh
我正在寻找.net的免费DLL来处理SFTP连接.
我发现了这个项目SharpSSH,但它缺乏文档.
我花了很多时间来计算dll是如何工作的.我创建了一个测试项目,然后开始测试不同的功能.某些功能正在起作用,例如删除文件.
我有putfile()函数和getfile()的问题.
这是一个例子:
Dim ssh As SFTPUtil
ssh = New SFTPUtil("MY SERVER", "MY USER", "MY PW")
ssh.GetFile("/home/sftptest/test111.xml", "C:\\text.xml")
Run Code Online (Sandbox Code Playgroud)
请注意,getfile()参数是:
Public Sub GetFile(remotePath As String, localPath As String)
Run Code Online (Sandbox Code Playgroud)
我介入函数,但我没有得到正确的方法来传递这些参数.
我真的不知道我是否应该使用斜杠(/)或反斜杠().我知道Linux使用(/)
我注意到例如"C:\"已经转换为"C:\\".
只是提到SFTP是在Linux机器上.
谢谢.
这是我应该做的(vb.net代码)建立与连接这个库(SSHnet),我并没有使用SharpSHH:
Private Sub ButtonAction_Click(sender As Object, e As System.EventArgs) Handles ButtonAction.Click
Dim PasswordConnection = New PasswordAuthenticationMethod("test", "test")
Dim KeyboardInteractive = New KeyboardInteractiveAuthenticationMethod("test")
Dim ConnectionInfo = New ConnectionInfo("192.168.1.1", 22, "test", PasswordConnection, KeyboardInteractive)
AddHandler KeyboardInteractive.AuthenticationPrompt, _
Sub(_sender As Object, _e As Renci.SshNet.Common.AuthenticationPromptEventArgs)
For Each prompt In _e.Prompts
Debug.Print(prompt.Request)
If Not prompt.Request.IndexOf("Password:", StringComparison.InvariantCultureIgnoreCase) = -1 Then
prompt.Response = "test"
End If
Next
End Sub
sftp = New SftpClient(ConnectionInfo)
sftp.Connect()
sftp.disconnect()
End Sub
Run Code Online (Sandbox Code Playgroud)