AWS CodeCommitのリポジトリにSSHでアクセスする
前回のブログでAWS CodeCommitを触ってみました。その時作成しGitたリポジトリへはHTTPSを使ってアクセスしましたが、今回はSSHを使ったやり方をまとめます。
ドキュメントにはリポジトリのサイズが大きい場合はHTTPSでなくSSHの使用を検討しましょうって書いてますね。
SSHキーの操作をするIAMポリシーを作成&割り当てる
AWS Management ConsoleでIAMにアクセスし、左メニューからPoliciesを選択します。
ポリシーテンプレートの中からIAMUserSSHKeysを選択し、Attachを選択します。
アタッチしたいユーザーをチェックして、Attach Policyをクリックします(IAMユーザーは事前に作成しておいて下さい)。
IAMユーザーにSSH公開鍵を割り当てる
IAMユーザーにSSH公開鍵を割り当てます。左メニューからUsersを選択します。
割り当てたいユーザーをクリックします。
設定画面のSSH keys for AWS CodeCommitにあるUpload SSH Keyをクリックします。
使いたいSSH公開鍵のテキストデータをペーストしてUpload SSH Keyをクリックします。
※SSHの公開鍵と秘密鍵のペアは事前に作成しておいて下さい。
ローカルコンピュータのSSH設定
CodeCommitにSSHアクセスする場合の設定をします。SSH公開鍵をアップロードするとSSH Key IDが付与されます。
CodeCommitのホスト名、付与されたSSH Key ID、秘密鍵のパス、を以下のように設定します。
$ vim .ssh/config Host git-codecommit.*.amazonaws.com User APKAI2EI6HC4N47QBQ3Q IdentityFile ~/.ssh/your-ssh-private-key.pem
設定ファイルの権限設定を忘れずにしておいてください。
$ chmod 600 .ssh/config
動作確認
以下のようにSSHで前回のGitリポジトリを手元にCloneできました。
$ git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/SampleRepository
必要に応じて、リモートリポジトリの設定を追加します。
$ git remote add ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/SampleRepository