SFTP Object
 
Syntax
 
SFTP.ConnectThroughSsh(sshConn As ChilkatSsh, hostname As String, ByVal port As Long) As Long
 
Description
Connects to an SSH/SFTP server through an existing SSH connection. The sshConn is an existing connected and authenticated SSH object. The connection to hostname:port is made through the existing SSH connection via port-forwarding. If successful, the connection is as follows: application => ServerSSH1 => ServerSSH2. (where ServerSSH1 is the sshConn and ServerSSH2 is the SSH server at hostname:port) Once connected in this way, all communications are routed through ServerSSH1 to ServerSSH2. This includes authentication -- which means the application must still call one of the Authenticate* methods to authenticate with ServerSSH2.
 
Returns 1 for success, 0 for failure.
 
See Also

Example
Sub Main
 
Dim ssh1 As New ChilkatSsh
 
' Hostname may be an IP address or domain name:
Dim hostname As String
hostname = "192.168.1.111"
Dim port As String
port = 22
 
' Connect directly to the 1st SSH server:
Dim success As Long
success = ssh1.Connect(hostname,port)
If (success <> 1) Then
    Debug.Print ssh1.LastErrorText
    Exit Sub
End If
 
' Authenticate using login/password:
success = ssh1.AuthenticatePw("myLogin","myPassword")
If (success <> 1) Then
    Debug.Print ssh1.LastErrorText
    Exit Sub
End If
 
' Connect through the 1st SSH connection to reach a 2nd SSH server (for SFTP)
' Note: Any number of connections may be simultaneously tunneled through a single
' existing SSH connection.
 
' Connect to some SSH/SFTP server through ssh1.
success = sftp.ConnectThroughSsh(ssh1,"sftp.someremoteserver.com",22)
If (success <> 1) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If
 
' Authenticate with the SFTP server.
success = sftp.AuthenticatePw("myLogin","myPassword")
If (success <> 1) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If
 
' After authenticating, the SFTP subsystem must be initialized:
success = sftp.InitializeSftp()
If (success <> 1) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If
 
' Upload from the local file to the SSH server.
' Important -- the remote filepath is the 1st argument,
' the local filepath is the 2nd argument;
Dim remoteFilePath As String
remoteFilePath = "hamlet.xml"
Dim localFilePath As String
localFilePath = "c:/temp/hamlet.xml"
 
success = sftp.UploadFileByName(remoteFilePath,localFilePath)
If (success <> 1) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If
 
Debug.Print "Success."
 
' Close the connection with the SFTP server.(This closes the the tunnel through ssh1.)
' The connection with ssh1 is still alive, and may be used for more connections.
sftp.Disconnect
 
' ...
' ...
' ...
 
ssh1.Disconnect
End Sub