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