Chilkat2-Python
Chilkat2-Python
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 Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
ssh = chilkat2.Ssh()
# First connect to an SSH server.
success = ssh.Connect("example.com",22)
if (success != True):
print(ssh.LastErrorText)
sys.exit()
# Wait a max of 5 seconds when reading responses..
ssh.IdleTimeoutMs = 5000
# Authenticate..
success = ssh.AuthenticatePw("myLogin","myPassword")
if (success != True):
print(ssh.LastErrorText)
sys.exit()
# After the SSH object is connected and authenticated, we use it
# as the underlying transport in our SCP object.
scp = chilkat2.Scp()
success = scp.UseSsh(ssh)
if (success != True):
print(scp.LastErrorText)
sys.exit()
# 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".
jsonEnvVars = chilkat2.JsonObject()
jsonEnvVars.EmitCompact = False
jsonEnvVars.UpdateString("LCS_PASSWORD","secret")
jsonEnvVars.UpdateString("MY_TEST_NAME","abc")
strEnvVars = jsonEnvVars.Emit()
print(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..
remotePath = "starfish.jpg"
localPath = "qa_data/jpg/starfish.jpg"
success = scp.UploadFile(localPath,remotePath)
if (success != True):
print(scp.LastErrorText)
sys.exit()
print("SCP upload file success.")
# Disconnect
ssh.Disconnect()