Maison  >  Article  >  développement back-end  >  Pourquoi mon projet Go sur CircleCI échoue-t-il avec « la clé d'agent a renvoyé un type de signature incorrect » et un problème de branche Git ?

Pourquoi mon projet Go sur CircleCI échoue-t-il avec « la clé d'agent a renvoyé un type de signature incorrect » et un problème de branche Git ?

DDD
DDDoriginal
2024-11-26 12:01:58135parcourir

Why Does My Go Project on CircleCI Fail with

Découverte de l'inadéquation du type de signature et du problème de branche Git

Lors de l'utilisation de CircleCI sur un projet Go hébergé sur GitHub, vous pouvez rencontrer l'erreur déroutante : "clé d'agent RSA SHA256 : ... a renvoyé un type de signature incorrect." Cette erreur apparemment sans rapport se produit lors d'un pull Git sur une branche qui diffère de master.

La non-concordance du type de signature

L'avertissement "La clé d'agent a renvoyé un type de signature incorrect" indique que l'agent SSH utilisé pour la connexion a fourni une signature invalide. Lorsqu'ils travaillent avec des clés RSA SSH, les utilisateurs peuvent opter pour l'un des trois algorithmes de hachage : SHA-1, SHA-256 ou SHA-512. Cependant, l'erreur suggère qu'une incompatibilité s'est produite.

À l'origine, les clés RSA SSH utilisaient exclusivement SHA-1 pour la signature. En raison de sa vulnérabilité, des algorithmes de hachage plus puissants ont été introduits. L'erreur se produit lorsque l'agent, sur demande, produit une signature SHA-1 au lieu du SHA-256 ou SHA-512 négocié, violant ainsi le protocole de l'agent.

Bien qu'elle ne soit pas intrinsèquement fatale, l'erreur peut entraîner une connexion. rejet par le côté distant s'il ne prend pas en charge les signatures SHA-1.

La branche Git Problème

Le message d'erreur suivant provient d'une tentative de git pull sans spécifier de télécommande pour la branche en question. Cela se produit généralement lors de l'utilisation de go get sur un référentiel existant, car il tente automatiquement de mettre à jour le référentiel.

Pour résoudre ce problème, évitez d'utiliser go get pour les installations de dépendances, car go build gère généralement cette tâche de manière transparente. Alternativement, pour des scénarios plus complexes, optez pour Git lui-même au lieu d'aller chercher.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn