Sample code for 30+ languages & platforms
DataFlex

SSH Execute Remote Commands

See more SSH Examples

Shows how to execute a command on an SSH server and retrieve the command output.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoSsh
    Integer iPort
    String sStrOutput
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatSsh)) To hoSsh
    If (Not(IsComObjectCreated(hoSsh))) Begin
        Send CreateComObject of hoSsh
    End

    Move 22 To iPort
    Get ComConnect Of hoSsh "the-ssh-server.com" iPort To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoSsh To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Authenticate using login/password:
    Get ComAuthenticatePw Of hoSsh "theSshLogin" "theSshPassword" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoSsh To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Send some commands and get the output.
    Get ComQuickCommand Of hoSsh "df" "ansi" To sStrOutput
    Get ComLastMethodSuccess Of hoSsh To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoSsh To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "---- df ----"
    Showln sStrOutput

    Get ComQuickCommand Of hoSsh "echo hello world" "ansi" To sStrOutput
    Get ComLastMethodSuccess Of hoSsh To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoSsh To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "---- echo hello world ----"
    Showln sStrOutput

    Get ComQuickCommand Of hoSsh "date" "ansi" To sStrOutput
    Get ComLastMethodSuccess Of hoSsh To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoSsh To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "---- date ----"
    Showln sStrOutput

    // --------------
    // 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


End_Procedure