AWS CLIを使用せずにCodeCommitへSSHユーザーで接続する
AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセットアップせずに、CodeCommitへ接続したいケースでSSHユーザーとしての接続手順を確認しました。
目次
環境
- EC2 Amazon Linux 2023からAWS CLIをアンインストール
- IAMユーザーにはAWS管理ポリシーAWSCodeCommitPowerUserをアタッチ
Gitのインストール
1 2 |
$ sudo yum -y install git |
パブリックキーとプライベートキーの作成
1 2 |
$ ssh-keygen |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Generating public/private rsa key pair. Enter file in which to save the key (/home/ssm-user/.ssh/id_rsa): Created directory '/home/ssm-user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ssm-user/.ssh/id_rsa Your public key has been saved in /home/ssm-user/.ssh/id_rsa.pub The key fingerprint is: SHA256:AqcCpaY9jmKSkpEyhuAabOuuaaYJyNou+Q6KuVHy53I ssm-user@ip-172-31-7-236.ap-northeast-1.compute.internal The key's randomart image is: +---[RSA 3072]----+ | . | | o | |+. . . | |B+ + | |X== . . S | |B%.o . | |&=o . | |&X.oE | |^O=o. | +----[SHA256]-----+ |
- /home/ssm-user/.ssh/id_rsa
- /home/ssm-user/.ssh/id_rsa.pub
の2つが作成されました。
検証につきパスフレーズはなしで作成しました。
パブリックキーをIAMユーザーに設定
1 2 |
$ cat /home/ssm-user/.ssh/id_rsa.pub |
パブリックキーを出力してコピーしました。
IAMユーザーのセキュリティ認証情報タブのAWS CodeCommitのSSH公開キーにパブリックキーをアップロードします。
パブリックキー出力結果をコピーして貼り付けました。
設定ファイルの作成
1 2 |
$ vim ~/.ssh/config |
.sshディレクトリにconfigファイルを作成します。
公開キーに生成された公開キーIDをconfigファイルに設定します。
1 2 3 4 |
Host git-codecommit.*.amazonaws.com User APKARFDUEEVTO2DQEKVU IdentityFile ~/.ssh/id_rsa |
configファイルを保存しました。
1 2 |
$ chmod 600 ~/.ssh/config |
パーミッションを変更しました。
1 2 |
$ ssh git-codecommit.ap-northeast-1.amazonaws.com |
テストしました。
東京リージョンにテストしてみました。
1 2 3 4 5 6 7 8 |
The authenticity of host 'git-codecommit.ap-northeast-1.amazonaws.com (54.240.225.207)' can't be established. RSA key fingerprint is SHA256:Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'git-codecommit.ap-northeast-1.amazonaws.com' (RSA) to the list of known hosts. 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. Connection to git-codecommit.ap-northeast-1.amazonaws.com closed. |
初回接続なのでfingerprintの確認があったので、yesを入力して、successfullyで成功を確認しました。
既存リポジトリをクローンしてみる
1 2 |
$ git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/2048 |
既存のリポジトリをクローンしてみました。
1 2 3 4 5 |
Cloning into '2048'... remote: Counting objects: 772, done. Receiving objects: 100% (772/772), 454.57 KiB | 8.74 MiB/s, done. Resolving deltas: 100% (429/429), done. |
無事完了しました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
AWS Backupで取得したAMIとスナップショットの削除
個人で使っているAWSリソースの断捨離をしてました。 Cloud9も複数アカウン …
-
AWS Cloud9で環境を共有する
(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …
-
Amazon InspectorによるLambda関数の脆弱性検出結果を確認しました
AWS re:Invent 2022期間内に発表されましたAmazon Insp …
-
Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた
EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …
-
EC2にSystems MangerからCloudWatchエージェントをインストール
CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …
-
AWS RDS でMySQLインスタンスを構築する
Amazon Web ServiceにはAmazon Relational Da …
-
AWS BatchでPandocコンテナイメージを実行する
「ECR(Amazon Elastic Container Registry)に …
-
5分でAlexaスキルを作る
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …
-
Route53でドメインを新規取得してDNSレコードを設定する
Elastic IPをAWSで発行しているのですから、DNSの設定も同じようにマ …
-
別アカウントのVPCからAWS PrivateLinkを使う
VPC エンドポイントサービス (AWS PrivateLink)を参考にしまし …