ssh报错 ssh: must specify HostKeyCallback

eagle · 2017-04-15 04:49:03 · 8066 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-04-15 04:49:03 的主题,其中的信息可能已经有所发展或是发生改变。

package main

import ( "fmt" "golang.org/x/crypto/ssh" )

func main() { c := &ssh.ClientConfig{ User: "root", Auth: []ssh.AuthMethod{ ssh.Password("123456"), }, } _, err := ssh.Dial("tcp", "192.168.0.219:22", c) // replace this if err != nil { fmt.Println(err) return } }

执行报错,不知道什么原因? go version go1.7.4 Centos 6.5系统 [root@host219 ~]# go run test.go ssh: must specify HostKeyCallback


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

8066 次点击  ∙  1 赞  
加入收藏 微博
2 回复  |  直到 2017-04-20 01:24:14
xl_9300
xl_9300 · #1 · 8年之前
client, err := ssh.Dial("tcp", "192.168.1.71:22", &ssh.ClientConfig{
        User: "kevin",
        Auth: []ssh.AuthMethod{
            ssh.Password("ajiao0106"),
        },
        //需要验证服务端,不做验证返回nil就可以,点击HostKeyCallback看源码就知道了
        HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
            return nil
        },
    })
    fmt.Println(err)
    fmt.Println(client)
eagle
eagle · #2 · 8年之前
xl_9300xl_9300 #1 回复

``` client, err := ssh.Dial("tcp", "192.168.1.71:22", &ssh.ClientConfig{ User: "kevin", Auth: []ssh.AuthMethod{ ssh.Password("ajiao0106"), }, //需要验证服务端,不做验证返回nil就可以,点击HostKeyCallback看源码就知道了 HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error { return nil }, }) fmt.Println(err) fmt.Println(client) ```

非常感谢您!

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传