Go 连接服务器实现交互,并将命令执行结果写入文件
做性能测试,需要记录相关的指标,于是弄了一个自动化脚本,可以实现
相关指标存入文件,方便测试人员记录测试数据;
有部分代码是对输出结果字符串进行处理,可根据自己实际需求进行处理;
说明:本脚本部分代码借鉴与其他开发者,如有侵权,请联系作者删帖;
package main
import (
"errors"
"fmt"
"log"
"os"
"strings"
"regexp"
"io/ioutil"
"golang.org/x/crypto/ssh"
)
func keyOrPwdConnect(sshHost, sshUser, sshPassword, sshKey string, sshPort int) (*ssh.Client, error) {
config := &ssh.ClientConfig{
User: sshUser,
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
}
if sshKey != "" {
key, err := ioutil.ReadFile(sshKey)
if err != nil {
panic("秘钥读取失败")
}
signer, err := ssh.ParsePrivateKey(key)
if err != nil {
panic("秘钥签名失败")
}
config