Skip to content

Instantly share code, notes, and snippets.

@mlangone
Forked from justinpawela/config
Created September 6, 2018 22:29
Show Gist options
  • Save mlangone/980e7c2927fd6b3d349e247cadede0a5 to your computer and use it in GitHub Desktop.
Save mlangone/980e7c2927fd6b3d349e247cadede0a5 to your computer and use it in GitHub Desktop.
AWS CodeCommit Multiple Account Config
# 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
@mlangone
Copy link
Author

mlangone commented Sep 6, 2018

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:

_ _
Command git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-repo
Becomes git clone ssh://awscc-account1/v1/repos/my-repo
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 the url as shown above in "Cloning a Repo".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment