Sample code for 30+ languages & platforms
Xojo Plugin

Setting Environment Variables for SCP Transfers

See more SCP Examples

Demonstrates how to set remote environment variables for an SCP transfer.

Note 1: This example requires Chilkat v9.5.0.79 or greater.

Note 2: Setting environment variables for SCP is only supported by some SSH servers.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim ssh As New Chilkat.Ssh

// First connect to an SSH server.
success = ssh.Connect("example.com",22)
If (success <> True) Then
    System.DebugLog(ssh.LastErrorText)
    Return
End If

// Wait a max of 5 seconds when reading responses..
ssh.IdleTimeoutMs = 5000

// Authenticate..
success = ssh.AuthenticatePw("myLogin","myPassword")
If (success <> True) Then
    System.DebugLog(ssh.LastErrorText)
    Return
End If

// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
Dim scp As New Chilkat.Scp

success = scp.UseSsh(ssh)
If (success <> True) Then
    System.DebugLog(scp.LastErrorText)
    Return
End If

// Specify the environment variables to be set in JSON as follows.
// This example sets two environment variables.  One is named "LCS_PASSWORD" and the other "MY_TEST_NAME".
Dim jsonEnvVars As New Chilkat.JsonObject
jsonEnvVars.EmitCompact = False
success = jsonEnvVars.UpdateString("LCS_PASSWORD","secret")
success = jsonEnvVars.UpdateString("MY_TEST_NAME","abc")
Dim strEnvVars As String
strEnvVars = jsonEnvVars.Emit()

System.DebugLog(strEnvVars)

// Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
// prior to doing the upload or download.
scp.SendEnv = strEnvVars

// Do the upload..
Dim remotePath As String
remotePath = "starfish.jpg"
Dim localPath As String
localPath = "qa_data/jpg/starfish.jpg"
success = scp.UploadFile(localPath,remotePath)
If (success <> True) Then
    System.DebugLog(scp.LastErrorText)
    Return
End If

System.DebugLog("SCP upload file success.")

// Disconnect
ssh.Disconnect