猿问

代理密钥 RSA SHA256:...返回了错误的签名类型

我正在尝试在 GitHub 上的 Go 项目上使用 CircleCI 以及 Go 项目的默认模板。


作为参考,默认情况.circleci/config.yml 如下:


version: 2

jobs:

  build:

    docker:

      - image: circleci/golang:1.12.7-buster

    working_directory: /go/src/github.com/Permaweb/Host

    steps:

      - checkout

      - run: go get -t -u -v ./...

      - run: go test -v ./...

当作业运行时,我收到一个与代码本身完全无关的错误。


agent key RSA SHA256:L1iUIhjfKejEONe0TFU3TaWkNwE2O0xWF/09K7P8WnA returned incorrect signature type

There is no tracking information for the current branch.

Please specify which branch you want to merge with.

See git-pull(1) for details.


    git pull <remote> <branch>


If you wish to set tracking information for this branch you can do so with:


    git branch --set-upstream-to=origin/<branch> develop

git pull该错误发生在与 不同的分支上的 on CircleCI期间master。


我怎样才能解决这个问题?


LEATH
浏览 178回答 1
1回答

明月笑刀无情

这里有两个问题,它们是分开的和独立的。“代理密钥返回不正确的签名类型”警告意味着正在使用的 SSH 代理返回了无效数据。使用 RSA SSH 密钥时,可以使用以下几种哈希算法之一进行签名:SHA-1、SHA-256 或 SHA-512。最初,仅支持 SHA-1,因此每次使用 RSA 密钥都意味着您正在使用 SHA-1。然而,SHA-1 很弱,因此添加了额外的、更强的哈希算法。此消息意味着 SSH 连接使用具有不同签名算法(SHA-256 或 SHA-512)的 RSA 密钥协商连接。但是,当要求 SSH 代理为该连接进行签名时,SSH 代理提供了 SHA-1 签名,这不符合代理协议。此消息本质上并不是致命的,但如果远程端不支持 SHA-1 签名,则可能会选择拒绝您的连接。您看到的另一条消息(来自 Git 的消息)意味着您正在尝试执行命令,git pull而没有为该分支设置遥控器。在本例中,这是因为您正在使用go get现有存储库,因为该命令将尝试更新现有存储库。如果您只想安装依赖项,运行go build通常会自动为您完成此操作,因此无需go get专门为此目的运行。如果您需要更复杂的东西,那么您应该使用 Git 本身,因为它go get不是为复杂情况而设计的。
随时随地看视频慕课网APP

相关分类

Go
我要回答