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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
T2.microからT3.nanoに変更(メモリエラーも対応)
このブログのEC2インスタンスをT2.micro 1インスタンスからT3.nan …
-
-
RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …
-
-
特定のIAMロールをLambda(Python)で削除する
やりたいこと 特定アカウントの特定の名前が含まれるIAMロールをまとめて削除した …
-
-
「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました
re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …
-
-
Amazon RDS MySQLでCSVをload data するときに「Access denied」発生
超小ネタです。 AWSのデータベースサービスの Amazon RDSのMySQL …
-
-
T3.nanoで仮想メモリ割当をユーザーデータで実行する
T3.nanoはメモリがだいたい500MBです。 実行する処理によってはメモリエ …
-
-
Systems Manager セッションマネージャアクセスのCloud9(SSHなし)
作成画面 いつからできるようになっていたのか気づいてなかったのですが、Cloud …
-
-
「AWSではじめるLinux入門ガイド 」を執筆しました
2020年4月30日に、「AWSではじめるLinux入門ガイド」という本を発行い …
-
-
IAM Access Analyzerの検出をEventBridgeルールで検知して通知する
やりたかったことは使用可能としているリージョンのIAM Access Analy …
-
-
Cloud9でAWS CDK環境
最初ローカルに作ろうと思ったのですが、環境依存がというか、Macbookの環境で …



