「エージェント キー RSA SHA256: ... 間違った署名タイプが返されました」エラー: 分析と解決
の自動ビルドを実行しようとしたときCircleCI のデフォルト テンプレートを使用する Go プロジェクトで、謎のエラーが発生します。「エージェント キー RSA SHA256: ... 間違った署名が返されました」 タイプ。"このエラーは、プロジェクトのコード自体とは何の関係もないようです。さらに詳しく調べて、この不可解なメッセージの根本原因を明らかにし、解決策を提供します。
このエラーの原因は、予期される署名タイプと SSH エージェントによって提供される署名タイプの不一致にあります。 RSA SSH キーは、SHA-1、SHA-256、SHA-512 など、署名にさまざまなハッシュ アルゴリズムを使用できます。以前の実装では SHA-1 のみが使用されていたため、RSA キーに対して暗黙的に SHA-1 が想定されていました。ただし、弱い SHA-1 の出現により、セキュリティを強化するために、より強力なハッシュ アルゴリズムの導入が促されました。
この場合、「署名タイプが正しくありません」エラーは、SSH 接続が特定の RSA キーを使用してネゴシエートしたことを示しています。署名アルゴリズム (SHA-256 または SHA-512) を使用し、SSH エージェントは署名生成中に SHA-1 署名を提供しました。この SSH エージェント プロトコルの違反により、エラー メッセージが表示されます。
注目に値しますが、このエラーは本質的にビルドの進行に悪影響を与えるものではありませんが、リモート エンドポイントが SHA-1 署名の受け入れを拒否した場合、接続が中断される可能性があります。 .
この問題をさらに悪化させるのが、Git に由来する別のエラー メッセージです。このメッセージは、対象のブランチにリモートを設定せずに「git pull」コマンドを実行しようとしたことが原因で発生します。この特定のシナリオでは、依存関係管理用に設計された「go get」コマンドが既存のリポジトリで誤って呼び出され、このエラーが発生しました。
これらの問題を効果的に修正するには、「go build」を使用することをお勧めします。依存関係のインストールの目的。このコマンドは、「go get」を必要とせずに、依存関係を自動的に取得します。 Git の操作を伴うより複雑なシナリオの場合は、Git 本来の機能を活用してください。「go get」にはそのような複雑さをナビゲートするための高度な機能が欠けているためです。
以上がCircleCI Go のビルドが「エージェント キー RSA SHA256: ... 間違った署名タイプを返しました」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。