iku8blog

Webエンジニアのタダのメモ。

AWS CodeCommitにsshで連携する

f:id:iku8:20210403012839p:plain

AWS CodeCommitに直接pushしたりしたかったので、SSHキーを使った連携を試みたときのメモ

前提

  • sshの公開鍵と秘密鍵をローカルに用意している
  • CodeCommit上にリポジトリを作成済み
  • ローカルにもリポジトリ作成済み(pushもしてない、cloneもしてない状態のもの

pushするまでの流れ

  • IAMユーザを作成
  • IAMユーザにローカルの公開鍵を登録
  • ローカルの.ssh/configにCodeCommitのホストを記述
  • リモートリポジトリとローカルリポジトリを紐付けpush

IAMユーザ

公開鍵はIAMユーザを作成してそこに紐付ける必要があるらしい

該当のIAMユーザはAWSCodeCommitPowerUserというポリシーをアタッチする必要があるので、そのように設定する

f:id:iku8:20210403011943p:plain

ユーザが作成できたら、公開鍵をそのユーザに登録する必要があるので、タブから認証情報を選んで、

f:id:iku8:20210403012055p:plain

AWS CodeCommit の SSH キーというところで、公開鍵のアップロードを行う。

f:id:iku8:20210403012002p:plain

アップロード後、SSHキーIDというものが発行されるので、コピっておく。このあとの.ssh/configへの設定で必要になる

.ssh/configの設定

configにCodeCommitとしてホストをつかして、先程取得したSSHキーIDというものを設定する

~/.ssh/config

# AWS
Host git-codecommit.*.amazonaws.com
  User [SSHキーID]
  IdentityFile ~/.ssh/id_rsa

東京リージョンだったら、「git-codecommit.ap-northeast-1.amazonaws.com」で良いのかな?

まあ上記の設定でもいけた。

リモートリポジトリと紐付けpush

あとは通常のgithubとかの連携と同じ要領で、

git remote add origin ssh://git-codecommit.ap-northeast-1.amazonaws.com/path/to/repository
git push origin master

これでCodeCommitにアップロード出来るはず。