CkPython
CkPython
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 CkPython Downloads
import sys
import chilkat
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
ssh = chilkat.CkSsh()
# 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.put_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 = chilkat.CkScp()
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 = chilkat.CkJsonObject()
jsonEnvVars.put_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.put_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()