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.
|
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
|