1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS / CodeCommit】複数のAWSアカウント利用時のSSHパス 設定方法 & viエディタ操作方法 for Mac

Last updated at Posted at 2025-06-27

目次

はじめに

複数の案件でAWSのCodeCommitを使うことになりました。
SSH接続 および viエディタの記述方法について記載します。

前提

  • AWSのコンソール画面にログインできている
  • ターミナルの操作が行える
  • Macである

CodeCommitでの作業

SSH公開キーのアップロード

こちらの記事【AWS / CodeCommit】SSH公開キーのアップロードのエラー「Invalid public key uploaded」解決方法 for Mac に記載していますが、AWS CodeCommitのSSH公開キーが設定されました。

SSH公開キーを確認

IAM > ユーザー > ユーザー一覧から対象のアカウントを選択

「セキュリティ認証情報」タブをクリック

ssh01.png

 ↓↓

少し下の方にいくと「AWS CodeCommit の SSH 公開キー」のエリアがあります。

SSHキーID に「KEYAKI46TESTHOGE」のような文字列があります。
(下記画像のオレンジの部分)

各プロジェクトのSSHキーIDをコピーし、メモに貼り付けるなどしておきます。

ssh02.png

SSHのクローン

デベロッパー用ツール > CodeCommit > リポジトリ > 対象のリポジトリ > URLのクローン

「SSHのクローン」をクリックするとコピーできます
例:ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-hoge

clone01.png

⚠️ 今回のように、複数のAWSアカウント利用のためのSSHパス設定をしている場合、このままcloneしてもエラーが出ます。

test@hoge リポジトリ % git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-git

Cloning into 'test-git'...

test@hoge@git-codecommit.ap-northeast-1.amazonaws.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 ↓↓

ここでconfigの設定を行っていきます。

configの設定

configの設定内容

まず、複数記述したい場合は、以下のようにします。

# 案件A
Host pj-keyaki
HostName git-codecommit.ap-northeast-1.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj1

# 案件B
Host pj-hinata
HostName git-codecommit.ap-northeast-1.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj2

解説

 名称  説明 
Host   案件名など、自分で分かりやすい名前をつけます。
HostName 今回は「git-codecommit.ap-northeast-1.amazonaws.com」としました。案件によって異なるので確認してください。
User WSのコンソールにログインし、SSHキーIDをコピーしてここに貼ってください。
IdentityFile 公開鍵ファイルがある場所を指定します。

この記述をターミナルで行います。

ターミナルとviエディタの操作

以下を入力します

test@hoge ~ %  vi /Users/hoge/.ssh/config

vi01.png

 ↓↓

viエディタ に切り替わります。

vi02.png

 ↓↓

次にこの画面上で i をクリックすると、一番下に INSERT と表示されます。
これで入力が可能になります。

vi03.png

↑ ↓ ← → やEnterキーで移動して入力します。

vi04.png

 ↓↓

入力できたら esc(エスケープボタン)をクリック します

vi05.png

最後に :wq と入力してください。(コロンと小文字のwq)

vi06.png

 ↓↓

元のターミナルの画面に戻ります。

vi07.png

 ↓↓

以下を入力すると、入力した内容が表示されます

test@name ~ % cat ~/.ssh/config

# 案件A
Host pj-keyaki
HostName git-codecommit.ap-northeast-1.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj1

# 案件B
Host pj-hinata
HostName git-codecommit.ap-northeast-1.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj2

git操作

git cloneするとき

Host名 を指定してcloneします。

git clone ssh://【指定したHostをここに入力】/v1/repos/【プロジェクトのリポジトリ名】

例)git clone ssh://pj-keyaki/v1/repos/project-test
のようになります。

⚠️ 注意
以下の方法でcloneしようとするとエラーが発生しました

test@hoge テスト % git clone ssh://SSHキー@git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-git

Cloning into 'test-git'...

SSHキー@git-codecommit.ap-northeast-1.amazonaws.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the 

git pullするとき

git pull ssh://Host/v1/repos/リポジトリ名

※Host: configで設定した、案件名などの名前

その他の記述方法とgit cloneの方法

他のQiita記事 に記載されている以下の方法でも可能です。

config設定

# 案件A
Host git-codecommit.*.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj1

# 案件B
Host git-codecommit.*.amazonaws.com
User VKSODVNFVFUのようなSSHキーIDを入力してください
IdentityFile ~/.ssh/rsa_pj2

案件Aをgit cloneする場合

git clone ssh://案件AのSSHキー@git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/リポジトリ名

参考サイト

  • 今回紹介した方法

  • 別の方法

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?