-
-
Save justinpawela/3a7056cd592d688425e59de2ef6f1da0 to your computer and use it in GitHub Desktop.
# This file is: ~/.ssh/config | |
# You may have other (non-CodeCommit) SSH credentials stored in this | |
# config file – in addition to the CodeCommit settings shown below. | |
# NOTE: Make sure to run [ chmod 600 ~/.ssh/config ] after creating this file! | |
# Credentials for Account1 | |
Host awscc-account1 # 'awscc-account1' is a name you pick | |
Hostname git-codecommit.us-east-1.amazonaws.com # This points to CodeCommit in the 'US East' region | |
User A1EXAMPLE01234567891 # UserID as provided by IAM Security Credentials (SSH) | |
IdentityFile ~/.ssh/account1-awsCC-rsa # Path to corresponding key file | |
# Credentials for Account2 | |
Host awscc-account2 | |
Hostname git-codecommit.us-east-1.amazonaws.com | |
User A2EXAMPLE01234567892 | |
IdentityFile ~/.ssh/account2-awsCC-rsa | |
# Credentials for Account3 | |
Host awscc-account3 | |
Hostname git-codecommit.us-east-1.amazonaws.com | |
User A3EXAMPLE01234567893 | |
IdentityFile ~/.ssh/account3-awsCC-rsa |
Or you can also use git remote set-url origin <new-url>
to update an existing repo
Amazing work! I wish AWS CodeCommit provided a simpler way to approach this (e.g. by including the repo name inside the hostname instead of path, so that we can define multiple keys per repo).
Nice gist
Thanks, this really helped me!
Kudos!
Thank you!
Thank you!!
Thank you!!
Thanks.
Cool! i love it! And bookmarked. I also suggested this to AWS to be adapted to their docs.
still works perfectly! thank you so much for keeping this live. it's a simple solution to a frustrating problem.
Excellent. So much better than commenting out all the time. Cheers!
Added update due to OpenSSH deprecating support for ssh-rsa. New flags are needed to connect with CodeCommit until they get the certificates updated. Changes in forked gist at https://gist.github.com/lonmiller/6f6c00400bf627642a3696dc575d2e6b.
Awesome... Thanks!
Cool! Thanks!
OMG Thank you ... most answers online don't address this issue correctly!
You are a life-saver!!!
Thanks. This is life saver
It saves my day
Bonus: added config for more accounts, each Host will be loaded itself config
.gitconfig
[includeIf "gitdir:~/"]
path = ~/.gitconfig-personal
exclude = ~/work/*
exclude = ~/code-commit/*
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig-work
[includeIf "gitdir:~/code-commit/"]
path = ~/code-commit/.gitconfig-code-commit
[push]
autosetupremote = true
default = current
AWS CodeCommit Multiple Account Config
This doc shows how to set up Git repos and SSH to allow the use of CodeCommit with more than one AWS account. This applies to macOS/Linux/Unix.
Initial Setup
Follow the SSH setup steps from the CodeCommit Docs, but be sure to configure
~/.ssh/config
as shown in this Gist.If your
config
file is already configured as in the docs, feel free to update it, but you'll have to change the remote settings of any repos you've already cloned (see "Updating an Existing Repo" below).Cloning a Repo
When newly cloning a repo, make the following change to your clone command:
where
awscc-account1
should be the name chosen on the Host line of the corresponding account in~/.ssh/config
.Updating an Existing Repo
When working with a repo that is already cloned to your local machine, make the same change in:
/path/to/my-repo/.git/config
In the
[remote "origin"]
section, update theurl
as shown above in "Cloning a Repo".