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)) }