Windows の Sourcetree で AWS の CodeCommit を扱う。
Git を GUI で扱うツールで初めて使ったのが Atlassian の Sourcetree でした。当時は Mac の上でコードを書いていたんですが、最近は Windows でも書くことが増え、Windows 版の Sourcetree も使うようになってきました。
で、Windows 版の Sourcetree では、デフォルトで Embed 版の Git を使うようになっています(多分)。そして、私はリポジトリへのアクセスは ssh を使っています。Winsows 版 Sourcetree の Git が ssh スキームのときにどの ssh を使うかなどをきちんと認識しておかないと面倒なことになります。以前は Pagent が使われていたと記憶しているのですが、Git に PuTTY が組み込まれていると理解していました。というのも、(そうならば当然と思うのですが) ~/.ssh/config を読むということがなかったからです。
CodeCommit からリポジトリをクローンするときに、
ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/hogerepo
のような URL(?)でアクセスしますが、これでは IAM に登録した鍵の ID の情報が無いのでエラーになります。ホスト名の前に SSH キー ID をつけて、
ssh://<SSH Key ID>@git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/hogerepo
のような形にすると、SSH Key ID としてアクセスして、Pagent に登録した鍵でアクセスしてくれました。
コメント