准备工作
-
golang的ssh包
golang.org/x/crypto/ssh
该包不在标准库中,需要单独下载。因为GFW,不能直接使用
go get
命令下载,可以去github下载地址:https://github.com/golang/crypto
在
$GOPATH/src
目录下创建golang.org/x
目录结构,将下载的crypto
包移动到$GOPATH/src/golang.or/x
下 -
redis库
redigo
,github地址:https://github.com/gomodule/redigogo-redis/redis
,github地址:https://github.com/go-redis/redis
获取SSH连接
func getSSHClient(user, pass, addr string) (*ssh.Client, error) {
config := &ssh.ClientConfig{
User:user,
Auth:[]ssh.AuthMethod{
ssh.Password(pass),
},
//需要验证服务端,不做验证返回nil,没有该参数会报错
HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {