When utilizing CircleCI on a Go project hosted on GitHub, you might encounter the perplexing error: "agent key RSA SHA256: ... returned incorrect signature type." This seemingly unrelated error occurs during a Git pull on a branch that differs from master.
The Signature Type Mismatch
The "agent key returned incorrect signature type" warning indicates that the SSH agent employed for the connection provided an invalid signature. When working with RSA SSH keys, users can opt for one of three hash algorithms: SHA-1, SHA-256, or SHA-512. However, the error suggests that a mismatch occurred.
Originally, RSA SSH keys exclusively utilized SHA-1 for signing. With its vulnerability, stronger hash algorithms were introduced. The error arises when the agent, upon request, produces an SHA-1 signature instead of the negotiated SHA-256 or SHA-512, violating the agent protocol.
While not inherently fatal, the error can lead to connection rejection by the remote side if it lacks support for SHA-1 signatures.
The Git Branch Issue
The subsequent error message stems from attempting a git pull without specifying a remote for the branch in question. This typically happens when utilizing go get on an existing repository, as it automatically attempts to update the repository.
To address this issue, avoid using go get for dependency installations since go build typically handles this task seamlessly. Alternatively, for more complex scenarios, opt for Git itself instead of go get.
The above is the detailed content of Why Does My Go Project on CircleCI Fail with \'agent key returned incorrect signature type\' and a Git Branch Issue?. For more information, please follow other related articles on the PHP Chinese website!