addr := fmt.Sprintf("%s:%d", sshHost, sshPort)
sshClient, err := ssh.Dial("tcp", addr, config)
if err != nil {
log.Fatal("创建ssh client 失败",err)
}
defer sshClient.Close()
//创建ssh-session
session, err := sshClient.NewSession()
if err != nil {
log.Fatal("创建ssh session 失败",err)
}
defer session.Close()
//执行远程命令
combo,err := session.CombinedOutput("whoami; cd /root/huayun; ls -al;echo Hello > hello.txt;echo hello;curl http://baidu.com")
if err != nil {
log.Fatal("远程执行cmd 失败",err)
}
log.Println("命令输出:",string(combo))
}
源码来自:https://www.cnblogs.com/you-men/p/14163364.html
本文来自:简书
感谢作者:明明就_c565
查看原文:go实现ssh远程执行命令
相关阅读 >>
[Go] Golang happen before 的保证原则
手撸Golang 基本数据结构与算法 网页排名/pagerank,随机游走
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。