I was seeking for a free DLL for .net to handle SFTP connections.
I found out this project SharpSSH, but it lacks of documentation.
I spent a lot of time to figure how the dll works. I created a test project and I started to test different functions. Some functions are working such as deleting files.
I have a problem with putfile() function and getfile().
Here an example :
Dim ssh As SFTPUtil
ssh = New SFTPUtil("MY SERVER", "MY USER", "MY PW")
ssh.GetFile("/home/sftptest/test111.xml", "C:\\text.xml")
Note that the getfile() parameters are:
Public Sub GetFile(remotePath As String, localPath As String)
I step in the functions, but I didn't get the correct way to pass those parameters.
I dont really know if i should use slashes(/) or backslashes (). I know that Linux uses (/)
I noticed for example that the "C:\" has been transformed to "C:\\".
Just to mention that the SFTP is on a linux machine.
thank you.
Here's What I should have done (vb.net code) to establish the connection with THIS library (SSHnet), I did not use 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