1

ローカルの Jenkins サーバー (Windows ホスト) をデプロイし、Amazon の AWS CodeCommit サービスのリポジトリに接続しようとしています。AWS Access Key と Secret Key を使用して、Jenkins で (AWS CodeDeploy Plugin を介して) AWS CodeDeploy 資格情報を構成しました。

新しいフリースタイル プロジェクトを作成し、ソース コード管理で Git を選択して構成しました。 リポジトリ URL - AWS Code コミット コンソールから SSH URL をコピーしましたパスフレーズ。

Repo URL を構成すると、次のエラーが表示されます。

リポジトリへの接続に失敗しました: コマンド "git.exe -c core.askpass=true ls-remote -h ssh://[削除]@git-codecommit.us-east-1.amazonaws.com/v1/repos/[ REMOVED]/ HEAD" がステータス コード 128 を返しました: stdout: stderr: Permission denied (publickey)。致命的: リモート リポジトリから読み取れませんでした。

正しいアクセス権があり、リポジトリが存在することを確認してください。

単純なアクセスエラーのように思えますが、私の人生では理解できません。git bash を開いて上記のコマンドを貼り付けると、次のように表示されます。

SSH 経由で正常に認証されました。Git を使用して AWS CodeCommit を操作できます。git-codecommit.us-east-1.amazonaws.com への接続がリモート ホストによって閉じられました。致命的: リモート リポジトリから読み取れませんでした。

正しいアクセス権があり、リポジトリが存在することを確認してください。

ということで、SSH接続はできているようです。私が実行すると:

ssh -vT [REMOVED]@git-codecommit.us-east-1.amazonaws.com

次の出力が得られます。

SSH 経由で正常に認証されました。Git を使用して AWS CodeCommit を操作できます。インタラクティブ シェルはサポートされていません。転送: 0.2 秒で 4160 送信、2368 バイト受信 1 秒あたりのバイト数: 送信 24893.3、受信 14170.0 debug1: 終了ステータス -1

それで、本当に Code Commit にアクセスできたようです。

また、CodeCommitFullAccess ポリシーをアタッチすることで、IAM ユーザーが CodeCommit に接続できることも確認しました。Jenkins を実行している Windows ホストで、git bash を使用してリポジトリのクローンも作成しました。

エラーを表示せずにジェンキンスを接続させる方法を知っている人はいますか?

4

1 に答える 1

1

質問で、SSH キーにパスフレーズを使用していると述べました。これは、現在解決されていない Jenkins の既知の問題のようです: JENKINS-20879。Unix プラットフォームではいくつかの回避策がありますが、Windows では回避できません。この問題を回避するには、パスフレーズを持たない Jenkins 用の SSH キーを作成することを検討してください。

于 2016-05-13T22:30:45.593 に答える