Go
Go
SSH Execute Remote Commands
See more SSH Examples
Shows how to execute a command on an SSH server and retrieve the command output.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ssh := chilkat.NewSsh()
port := 22
success = ssh.Connect("the-ssh-server.com",port)
if success != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
// Authenticate using login/password:
success = ssh.AuthenticatePw("theSshLogin","theSshPassword")
if success != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
// Send some commands and get the output.
strOutput := ssh.QuickCommand("df","ansi")
if ssh.LastMethodSuccess() != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
fmt.Println("---- df ----")
fmt.Println(*strOutput)
strOutput = ssh.QuickCommand("echo hello world","ansi")
if ssh.LastMethodSuccess() != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
fmt.Println("---- echo hello world ----")
fmt.Println(*strOutput)
strOutput = ssh.QuickCommand("date","ansi")
if ssh.LastMethodSuccess() != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
fmt.Println("---- date ----")
fmt.Println(*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
ssh.DisposeSsh()