私のローカルラップトップはMacです。
Sshキーが正しく構成されている。これは〜/ .ssh/configの内容です
Host barthea Hostname git-codecommit.us-east-1.amazonaws.com User AVVVVVVVVVVVVVVVVVQ IdentityFile ~/.ssh/aws-aws.pem
Ssh bartheaを実行すると
`You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-east-1.amazonaws.com closed by remote Host.
`2.パスワードとアクセスキーを備えたIAMユーザーbruce666を作成し、このユーザーを「チーム」グループの一部にしました。次に、「AWSCodeCommitPowerUsers」を含むポリシーを作成し、このポリシーを「チーム」に割り当てました。そして、最後にbruce666を「チーム」に割り当てました。この時点で、bruce666は管理コンソールを通じてCodeCommitの任意のリポジトリにアクセスできます。
私はaws config --profile bruce666を実行し、彼のアクセスと秘密鍵、彼の地域をフィードし、jsonでフォーマットを指定しました。この時点で、aws codecommit get-repository --repository-name rekha --profile bruce666を実行することで、CodeCommmitでrekhaリポジトリを作成できました
いくつかのダミーファイルを作成し、git init、git add。、git commit -m "1"、git add Origin https:// git -gitcode.amzonaws.com/repos/v1/rekha、git Push -u Origin masterAndその操作は成功します。
ただし、git clone ssh://git-gitcode.amazonaws.com/repos/v1/rekhaを実行すると、「致命的:できませんアクセス ' https://git-codecommit.us-east-1.amazonaws.com/v1/repos/barthia/ ':リクエストされたURLがエラーを返しました:403 "
この役立つテキストは、コードコミットとWindows統合に関するAWSドキュメントにあります
Git for WindowsのインストールにGit Credential Managerユーティリティが含まれている場合、最初の数回の接続試行後に、403エラーが表示されるか、資格情報をCredential Managerユーティリティに提供するように求められます。この問題を解決する最も信頼できる方法は、AWS CodeCommitと互換性がないため、Git Credential ManagerユーティリティのオプションなしでGit for Windowsをアンインストールしてから再インストールすることです。
Git Credential Managerユーティリティを保持する場合は、AWS CodeCommitに接続するときにAWS CodeCommitの認証情報ヘルパーの使用を指定するために.gitconfigファイルを手動で変更するなど、AWS CodeCommitを使用する追加の設定手順を実行する必要があります。
保存されている資格情報を資格情報マネージャーユーティリティから削除します(このユーティリティはコントロールパネルにあります)。
保存されている資格情報を削除したら、.gitconfigファイルに以下を追加して保存し、新しいコマンドプロンプトウィンドウから接続を再試行します。
[credential "https://git-codecommit.us-east-1.amazonaws.com"]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
さらに、すべての接続が期待どおりに機能する前に、-globalまたは--localの代わりに--systemを指定してgit構成設定を再構成する必要がある場合があります。
この最後の部分は私の状況に当てはまりましたが、git config --systemを実行すると期待どおりに機能しませんでしたが、aws codecommitコマンドの前にaws configureが追加されました。
したがって、システムの構成ファイルの場所を見つけるために、これをgitで実行する必要がありました。
git config --list --show-Origin
次に、AWSの推奨セクションをc:/users/username/.gitconfigファイルとc:/ ProgramData/Git/configファイルの両方に追加しました。
その後、git Pushが機能し始めました-私の応答の前に偽のエラーが表示されますが
"git: 'credential-aws' is not a git command. See 'git --help'."
私にとってエラーが発生する根本的な原因は、OSXで使用しているgitのバージョンに関係なく、GITが常にファイルからosxkeychainを使用するためのcredential.helper構成を取得していたことです。
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig
これを取り除くことは私にとって問題を解決し、何も壊していません。
OSXでの私のケース。
最初のステップ:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
ただし、git config --list --show-Origin
file:/usr/local/etc/gitconfig credential.https://git-codecommit.eu-west-1.amazonaws.com.helper=!aws codecommit credential-helper $@
file:/usr/local/etc/gitconfig credential.helper=osxkeychain
file:/Users/mine/.gitconfig user.name=my-user
file:/Users/mine/.gitconfig [email protected]
file:/Users/mine/.gitconfig filter.lfs.clean=git-lfs clean -- %f
file:/Users/mine/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/mine/.gitconfig filter.lfs.process=git-lfs filter-process
file:/Users/mine/.gitconfig filter.lfs.required=true
file:/Users/mine/.gitconfig credential.helper=!aws codecommit credential-helper $@
file:/Users/mine/.gitconfig credential.usehttppath=true
最初の行は以前は存在しませんでしたが、gitはosxkeychain
を優先して使用していました。したがって、私はgit config --system ...
cat /usr/local/etc/gitconfig
[credential "https://git-codecommit.eu-west-1.amazonaws.com"]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
[credential]
helper = osxkeychain
そのため、別の資格情報が保存された場合にフォールバックするためにURLが指定されました。
更新https://docs.aws.Amazon.com/codecommit/latest/userguide/troubleshooting-ch.html
なんらかの理由で、UseHttpPath = trueが追加されない場合があります。そのため、[クレデンシャル]の下に追加することができます(推奨)
解決しました。
403エラーメッセージは、特にGitエラーメッセージです。 AWSで指定された2つのヘルパーコマンドを追加しました。
git config --global credential.helper '!aws --profile bruce666 codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
これで問題が解決しました。
ローカルディレクトリの。git/configファイル(作成したCodecommitリポジトリを複製する前は、次のようになっているはずです):
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[credential]
helper = !aws --profile bruce666 codecommit credential-helper $@
UseHttpPath = true
[remote "Origin"]
url = https://git-codecommit.us-east-1.amazonaws.com/v1/repos/barthea
fetch = +refs/heads/*:refs/remotes/Origin/*
[branch "master"]
remote = Origin
merge = refs/heads/master
。git/configファイルで指定されているように、sshではなくhttpsを使用してクローンを作成しています。ツールチェーンの問題に遭遇しなかったので、OSXに付属のデフォルトバージョンのgitを使用していないはずです。
致命的: ' https://git-codecommit.yourregion.amazonaws.com/v1/yourrepositoryname/ 'にアクセスできません:要求されたURLがエラーを返しました:403
以下の地域が原因で発生します
codecommitfullaccess
ポリシーがアタッチされていることを確認してください。aws設定
次のソリューションは、Windows 10でGit Bashを使用する少数の開発者に役立ちました。
[リポジトリに接続]タブでオペレーティングシステムとしてWindowsを選択した場合、コマンドは次のような形式になります。
git config --global credential.helper "!aws codecommit credential-helper $@"
git config --global credential.UseHttpPath true
ただし、Git Bashを使用する場合は、代わりに[Linux、MacOS、またはUnix]オプションを選択してください。 1行目の二重引用符ではなく、単一引用符に注意してください。
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
幸運を祈ります。
参照: https://forums.aws.Amazon.com/thread.jspa?threadID=198356 投稿者:mwhardesty
以下のコマンドを実行した後、この問題を解決するには、IAMユーザーに下記のポリシーを追加する必要がありました。 refrence
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
ポリシー:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:*"
],
"Resource": "*"
}
]
}