wangyan188 发表于 2018-9-19 13:54:02

golang的ssh包

package main  

  
import (
  

"golang.org/x/crypto/ssh"  
"log"
  
"os"
  
)
  

  
func main() {
  
ce := func(err error, msg string) {
  
if err != nil {
  
log.Fatalf("%s error: %v", msg, err)
  
}
  
}
  

  
client, err := ssh.Dial("tcp", "172.16.116.200:22", &ssh.ClientConfig{
  
User: "root",
  
Auth: []ssh.AuthMethod{ssh.Password("^Two^Ten=1024$")},
  
})
  
ce(err, "dial")
  

  
session, err := client.NewSession()
  
ce(err, "new session")
  
defer session.Close()
  

  
session.Stdout = os.Stdout
  
session.Stderr = os.Stderr
  
session.Stdin = os.Stdin
  

  
modes := ssh.TerminalModes{
  
ssh.ECHO:          0,
  
ssh.TTY_OP_ISPEED: 14400,
  
ssh.TTY_OP_OSPEED: 14400,
  
}
  
err = session.RequestPty("xterm", 25, 80, modes)
  
ce(err, "request pty")
  

  
err = session.Shell()
  
ce(err, "start shell")
  

  
err = session.Wait()
  
ce(err, "return")
  
}


页: [1]
查看完整版本: golang的ssh包