package main
import (
"fmt"
"log"
"time"
"golang.org/x/crypto/ssh"
)
// PWDAuthConnect密码校验注释
func pwdAuthConnect(sshHost, sshUser, sshPassword string, sshPort int) (*ssh.Client, error) {
config := ssh.ClientConfig{
Timeout: 5 * time.Second,
User: sshUser,
Auth: []ssh.AuthMethod{ssh.Password((sshPassword))},
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
}
addr := fmt.Sprintf("%s:%d", sshHost, sshPort)
Client, err := ssh.Dial("tcp", addr, &config)
// err = errors.New("出错了")
if err != nil {
log.Fatal("连接服务器失败", err)
return nil, err
}
return Client, err
}
func main() {
conn, err := pwdAuthConnect("192.168.225.146", "root", "123456", 22)
if err != nil {
return
}
defer conn.Close()
session, err := conn.NewSession()
if err != nil {
panic(err)
}
defer session.Close()
cmd := "ls"
cmdInfo, err := session.CombinedOutput(cmd)
if err != nil {
panic(err)
}
fmt.Println(string(cmdInfo))
}