AWS CodeCommitでSSH認証するための手順
始めに
最近社内でCodeCommitを使う機会があったのですが、SSH認証の手順について何度か聞かれたので手順を残します。
環境は Windows Subsystem for Linux (Ubuntu) が前提ですがLinux, Macであれば基本的に同じ操作でできると思います。
手順
ssh-keygenにより鍵ペアが作成されていることを前提とします。無い場合はググると記事が大量に出てくるのでお好みのやり方で生成して下さい。なお本件に限ったことではありませんが秘密鍵ファイルのパーミッションは 400
に設定しておかないとエラーになります。
IAMへの公開鍵登録
まずは下の画像のようにIAMでAWS側に公開鍵(通常は id_rsa.pub
ファイル)を登録しSSH Key IDを控えます。末尾のホスト名は有っても無くてもどちらでも大丈夫です。
SSHの設定
そして ~/.ssh/config ファイルに次の書式を追記します。もし無ければ新規作成して下さい。 Host
の * はリージョン名が入りますが通常はこのように全リージョンが対象で問題無いと思います。 User
は先に控えたSSH Key IDを指定し IdentityFile
は登録した公開鍵とペアになる秘密鍵(通常は id_rsa
ファイル)の場所を指定します。
$ cat ~/.ssh/config Host git-codecommit.*.amazonaws.com User APKAJRUAYFVEAW444ZVA IdentityFile ~/.ssh/id_rsa
ここまで入力したら ssh -T git-codecommit.ap-northeast-1.amazonaws.com
コマンドを叩いて動作確認してみて下さい。下記のように表示されれば認証OKなので git clone
等ができるようになっているはずです。
$ ssh -T git-codecommit.ap-northeast-1.amazonaws.com You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.ap-northeast-1.amazonaws.com closed by remote host.