Go 连接ssh服务器
安装
go get -u -v golang.org/x/crypto/ssh实例
package main
import (
"bytes"
"fmt"
"log"
"golang.org/x/crypto/ssh"
"time"
)
func main() {
config := &ssh.ClientConfig{
User: "root",
Auth: []ssh.AuthMethod{
ssh.Password("123456"),
},
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
Timeout: time.Second * 3,
}
client, err := ssh.Dial("tcp", "192.168.3.111:22", config)
if err != nil {
log.Fatal(err.Error())
}
defer client.Close()
session, err := client.NewSession()
if err != nil {
log.Fatal(err.Error())
}
var stdout bytes.Buffer
var stderr bytes.Buffer
session.Stdout = &stdout
session.Stderr = &stderr
err = session.Run("hostname")
if err != nil {
log.Fatal(err.Error())
return
}
defer session.Close()
fmt.Println(string(stdout.Bytes()))
}密钥认证
文件传输
动态刷新
Last updated
Was this helpful?