Skip to content

Instantly share code, notes, and snippets.

@justinpawela
Created August 3, 2016 01:39
Show Gist options
  • Save justinpawela/3a7056cd592d688425e59de2ef6f1da0 to your computer and use it in GitHub Desktop.
Save justinpawela/3a7056cd592d688425e59de2ef6f1da0 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
@agmezr
Copy link

agmezr commented Feb 9, 2018

Or you can also use git remote set-url origin <new-url> to update an existing repo

@Dzhuneyt
Copy link

Dzhuneyt commented Aug 5, 2019

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).

@LiutongZhou
Copy link

Nice gist

@utahcon
Copy link

utahcon commented Jun 17, 2020

Thanks, this really helped me!

@edonosotti
Copy link

Kudos!

@damien-monni
Copy link

Thank you!

@mouradhamoud
Copy link

Thank you!!

@lflfm
Copy link

lflfm commented Jan 7, 2021

Thank you!!

@seifolah-ghaderi
Copy link

Thanks.

@andreashe
Copy link

Cool! i love it! And bookmarked. I also suggested this to AWS to be adapted to their docs.

@dfravel
Copy link

dfravel commented Sep 27, 2021

still works perfectly! thank you so much for keeping this live. it's a simple solution to a frustrating problem.

@badfun
Copy link

badfun commented Oct 26, 2021

Excellent. So much better than commenting out all the time. Cheers!

@lonmiller
Copy link

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.

@thilinaba
Copy link

Awesome... Thanks!

@LEUNGUU
Copy link

LEUNGUU commented Feb 22, 2022

Cool! Thanks!

@diond
Copy link

diond commented Sep 18, 2022

OMG Thank you ... most answers online don't address this issue correctly!
You are a life-saver!!!

@mohaqqani
Copy link

Thanks. This is life saver

@hungify2022
Copy link

hungify2022 commented May 18, 2023

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

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