mirror of
https://github.com/shanghai-edu/multissh.git
synced 2025-12-15 21:07:50 +00:00
53 lines
833 B
Go
53 lines
833 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
username = "admin"
|
|
password = "admin"
|
|
ip = "192.168.31.21"
|
|
port = 22
|
|
cmd = "show clock;exit"
|
|
)
|
|
|
|
func Test_SSH(t *testing.T) {
|
|
session, err := connect(username, password, ip, port)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
defer session.Close()
|
|
|
|
cmdlist := strings.Split(cmd, ";")
|
|
|
|
stdinBuf, err := session.StdinPipe()
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
// var bt bytes.Buffer
|
|
// session.Stdout = &bt
|
|
t.Log(session.Stdout)
|
|
t.Log(session.Stderr)
|
|
session.Stdout = os.Stdout
|
|
session.Stderr = os.Stderr
|
|
session.Stdin = os.Stdin
|
|
err = session.Shell()
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
for _, c := range cmdlist {
|
|
c = c + "\n"
|
|
stdinBuf.Write([]byte(c))
|
|
}
|
|
session.Wait()
|
|
t.Error(err)
|
|
// t.Log(bt.String())
|
|
return
|
|
}
|