PureBasic
PureBasic
SSH Execute Remote Commands
See more SSH Examples
Shows how to execute a command on an SSH server and retrieve the command output.Chilkat PureBasic Downloads
IncludeFile "CkSsh.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ssh.i = CkSsh::ckCreate()
If ssh.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
port.i = 22
success = CkSsh::ckConnect(ssh,"the-ssh-server.com",port)
If success <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
; Authenticate using login/password:
success = CkSsh::ckAuthenticatePw(ssh,"theSshLogin","theSshPassword")
If success <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
; Send some commands and get the output.
strOutput.s = CkSsh::ckQuickCommand(ssh,"df","ansi")
If CkSsh::ckLastMethodSuccess(ssh) <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
Debug "---- df ----"
Debug strOutput
strOutput = CkSsh::ckQuickCommand(ssh,"echo hello world","ansi")
If CkSsh::ckLastMethodSuccess(ssh) <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
Debug "---- echo hello world ----"
Debug strOutput
strOutput = CkSsh::ckQuickCommand(ssh,"date","ansi")
If CkSsh::ckLastMethodSuccess(ssh) <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
Debug "---- date ----"
Debug strOutput
; --------------
; Sample output:
; ---- df ----
; Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
; /dev/disk2 2176716032 265736304 1910467728 13% 33281036 238808466 12% /
; devfs 382 382 0 100% 662 0 100% /dev
; map -hosts 0 0 0 100% 0 0 100% /net
; map auto_home 0 0 0 100% 0 0 100% /home
; /dev/disk3s2 374668 374668 0 100% 93665 0 100% /Volumes/Google Chrome
;
; ---- echo hello world ----
; hello world
;
; ---- date ----
; Thu Dec 22 17:19:32 CST 2016
CkSsh::ckDispose(ssh)
ProcedureReturn
EndProcedure