栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SSH握手抱怨缺少主机密钥

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSH握手抱怨缺少主机密钥

您在这里寻找的是:

func getHostKey(host string) (ssh.PublicKey, error) {    file, err := os.Open(filepath.Join(os.Getenv("HOME"), ".ssh", "known_hosts"))    if err != nil {        return nil, err    }    defer file.Close()    scanner := bufio.NewScanner(file)    var hostKey ssh.PublicKey    for scanner.Scan() {        fields := strings.Split(scanner.Text(), " ")        if len(fields) != 3 { continue        }        if strings.Contains(fields[0], host) { var err error hostKey, _, _, _, err = ssh.ParseAuthorizedKey(scanner.Bytes()) if err != nil {     return nil, errors.New(fmt.Sprintf("error parsing %q: %v", fields[2], err)) } break        }    }    if hostKey == nil {        return nil, errors.New(fmt.Sprintf("no hostkey for %s", host))    }    return hostKey, nil}

然后将您的hostKey定义行替换为

hostKey, err := getHostKey("host.com")if err != nil {    log.Fatal(err)}

有关此主题的更多信息:

  • 我从中获取部分代码的官方样本
  • 为什么现在需要hostKey

编辑:还请查看

Anton
有关
golang.org/x/crypto/ssh/knownhosts
包装的以下答案。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号