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
|