Sample code for 30+ languages & platforms
AutoIt

SCP Upload Contents of String to Remote File

See more SCP Examples

Demonstrates how to upload the contents of a string variable using the SCP protocol (Secure Copy Protocol over SSH). The text is uploaded to a file in specific remote directory. If the file did not already exist, it is created. If it already existed, it is overwritten.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oSsh = ObjCreate("Chilkat.Ssh")

;  Connect to an SSH server:
Local $sHostname
Local $iPort

;  Hostname may be an IP address or hostname:
$sHostname = "www.some-ssh-server.com"
$iPort = 22

$bSuccess = $oSsh.Connect($sHostname,$iPort)
If ($bSuccess <> True) Then
    ConsoleWrite($oSsh.LastErrorText & @CRLF)
    Exit
EndIf

;  Wait a max of 5 seconds when reading responses..
$oSsh.IdleTimeoutMs = 5000

;  Authenticate using login/password:
$bSuccess = $oSsh.AuthenticatePw("myLogin","myPassword")
If ($bSuccess <> True) Then
    ConsoleWrite($oSsh.LastErrorText & @CRLF)
    Exit
EndIf

;  Once the SSH object is connected and authenticated, we use it
;  as the underlying transport in our SCP object.
$oScp = ObjCreate("Chilkat.Scp")

$bSuccess = $oScp.UseSsh($oSsh)
If ($bSuccess <> True) Then
    ConsoleWrite($oScp.LastErrorText & @CRLF)
    Exit
EndIf

Local $sContent = "This string will be the contents of the remote file."
Local $sRemotePath = "uploads/text/testUtf8.txt"

;  The utf-8 byte representation of the string will be uploaded.
;  See https://www.chilkatsoft.com/p/p_463.asp for a list of valid charsets.
Local $sCharset = "utf-8"

;  This uploads to the "uploads/text" directory relative to the HOME
;  directory of the SSH user account.  
;  Note: The remote target directory must already exist on the SSH server.
$bSuccess = $oScp.UploadString($sRemotePath,$sContent,$sCharset)
If ($bSuccess <> True) Then
    ConsoleWrite($oScp.LastErrorText & @CRLF)
    Exit
EndIf

$sRemotePath = "uploads/text/testUtf8_withBOM.txt"

;  To include the utf-8 preamble (also known as the BOM),
;  prefix the charset name with "bom:".  Any charset that can 
;  optionally include a BOM can be specified in this way.
$sCharset = "bom:utf-8"

;  Uploads to a remote file that contains text in the 
;  utf-8 representation, including the BOM at the start of the file.
$bSuccess = $oScp.UploadString($sRemotePath,$sContent,$sCharset)
If ($bSuccess <> True) Then
    ConsoleWrite($oScp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("SCP upload string success." & @CRLF)

;  Disconnect
$oSsh.Disconnect