AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解」
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Linux、macOS 或 Unix 上 AWS CodeCommit 儲存庫的 SSH 連線設定步驟
首次連線到 CodeCommit 之前,您必須先完成一些初始組態步驟。設定電腦和 AWS 設定檔之後,您可以連線至 CodeCommit 儲存庫,並將該儲存庫複製到您的電腦 (也稱為建立本機儲存庫)。如果您是初次使用 Git,您可能還需要檢閱我可以在哪裡進一步了解 Git?中的資訊。
主題
步驟 1:CodeCommit 的初始組態
請依照下列步驟設定 Amazon Web Services 帳戶、建立 IAM 使用者,以及設定 CodeCommit 的存取權。
建立和設定 IAM 使用者以存取 CodeCommit
前往 http://aws.amazon.com
Web Services 帳戶,然後選擇註冊。 在您的 Amazon Web Services 帳戶中建立 IAM 使用者,或使用現有的使用者。請確定您擁有與該 IAM 使用者相關聯的存取金鑰 ID 和私密存取金鑰。如需詳細資訊,請參閱在您的 Amazon Web Services 帳戶中建立 IAM 使用者。
注意
CodeCommit 需要 AWS Key Management Service。如果您使用的是現有的 IAM 使用者,請確定沒有政策連接到明確拒絕 CodeCommit 所需的 AWS KMS 動作的使用者。如需詳細資訊,請參閱AWS KMS 和 加密。
登入 AWS Management Console ,並在 https://console.aws.amazon.com/iam/
://www. 開啟 IAM 主控台。 -
在 IAM 主控台的導覽窗格中,選擇使用者,然後選擇您要為 CodeCommit 存取設定的 IAM 使用者。
在 Permissions (許可) 標籤上,選擇 Add Permissions (新增許可)。
-
在 Grant permissions (授予許可) 中,選擇 Attach existing policies directly (直接連接現有政策)。
從政策清單中,選取 AWSCodeCommitPowerUser 或其他 CodeCommit 存取的受管政策。如需詳細資訊,請參閱AWS CodeCommit 的 受管政策。
在您選取要連接的政策之後,請選擇下一步:檢閱以檢閱要連接到 IAM 使用者的政策清單。如果清單正確,請選擇 Add permissions (新增許可)。
如需 CodeCommit 受管政策以及與其他群組和使用者共用儲存庫存取權的詳細資訊,請參閱 共用儲存庫 和 AWS CodeCommit的身分驗證與存取控制。
注意
如果您想要搭配 CodeCommit 使用 AWS CLI 命令,請安裝 AWS CLI。如需詳細資訊,請參閱命令列參考。
步驟 2:安裝 Git
若要使用 CodeCommit 儲存庫中的檔案、遞交和其他資訊,您必須在本機電腦上安裝 Git。CodeCommit 支援 Git 1.7.9 版和更新版本。Git 2.28 版支援為初始遞交設定分支名稱。我們建議您使用最新版本的 Git。
若要安裝 Git,我們建議使用 Git 下載
注意
Git 是一個不斷發展、定期更新的平台。有時,功能變更可能會影響其使用 CodeCommit 的方式。如果您遇到 Git 和 CodeCommit 特定版本的問題,請檢閱 中的資訊疑難排解。
步驟 3:在 Linux、macOS 或 Unix 上設定登入資料
SSH 和 Linux、macOS 或 Unix:為 Git 和 CodeCommit 設定公有和私有金鑰
設定 Git 和 CodeCommit 的公有和私有金鑰
-
從本機電腦上的終端機,執行 ssh-keygen 命令,並依照指示將檔案儲存到描述檔的 .ssh 目錄。
注意
請務必向系統管理員詢問應該金鑰檔的存放位置,以及應該採用的檔案命名模式。
例如:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/
user-name
/.ssh/id_rsa):Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-user-name/.ssh/codecommit_rsa
Enter passphrase (empty for no passphrase):<Type a passphrase, and then press Enter>
Enter same passphrase again:<Type the passphrase again, and then press Enter>
Your identification has been saved in /home/user-name
/.ssh/codecommit_rsa
. Your public key has been saved in /home/user-name
/.ssh/codecommit_rsa.pub
. The key fingerprint is: 45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14user-name
@client-name
The key's randomart image is: +--[ RSA 2048]----+ | E.+.o*.++| | .o .=.=o.| | . .. *. +| | ..o . +..| | So . . . | | . | | | | | | | +-----------------+這會產生:
-
codecommit_rsa
檔案,這是私有金鑰檔案。 -
codecommit_rsa
.pub 檔案,這是公有金鑰檔案。
提示
根據預設, ssh-keygen會產生 2048 位元金鑰。您可以使用 -t 和 -b 參數來指定金鑰的類型和長度。如果您想要 rsa 格式的 4096 位元金鑰,您可以使用下列參數執行 命令來指定此金鑰:
ssh-keygen -t rsa -b 4096
如需 SSH 金鑰所需格式和長度的詳細資訊,請參閱搭配 CodeCommit 使用 IAM。
-
-
執行以下命令來顯示公有金鑰檔案 (
codecommit_rsa
.pub) 的值:cat ~/.ssh/
codecommit_rsa.pub
複製這個值。它看起來類似下列:
ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE
user-name
@ip-192-0-2-137
-
登入 AWS Management Console ,並在 https://console.aws.amazon.com/iam/
:// 開啟 IAM 主控台。 注意
您可以直接在我的安全登入資料中檢視和管理 CodeCommit 登入資料。 如需詳細資訊,請參閱檢視和管理登入資料。
-
在 IAM 主控台的導覽窗格中,選擇使用者,然後從使用者清單中選擇您的 IAM 使用者。
-
在使用者詳細資訊頁面,選擇 Security Credentials (安全登入資料) 標籤,然後選擇 Upload SSH public key (上傳 SSH 公有金鑰)。
-
將 SSH 公有金鑰的內容貼到欄位中,然後選擇 Upload SSH public key (上傳 SSH 公有金鑰)。
-
複製或儲存 SSH Key ID (SSH 金鑰 ID) 中的資訊 (例如,
APKAEIBAERJR2EXAMPLE
)。注意
如果您已上傳一個以上的 SSH 金鑰 ID,則會依金鑰 ID 的字母順序列出金鑰,而非依上傳日期。請確定您已複製的金鑰 ID 與正確的上傳日期相關聯。
-
在本機電腦上,使用文字編輯器在 ~/.ssh 目錄中建立組態檔,然後將下列幾行新增至檔案,其中
User
的值是您稍早複製的 SSH 金鑰 ID:Host git-codecommit.*.amazonaws.com User
APKAEIBAERJR2EXAMPLE
IdentityFile ~/.ssh/codecommit_rsa
注意
如果您將私有金鑰檔案命名為
codecommit_rsa
以外的名稱,請務必在此處使用該名稱。您可以設定對多個 Amazon Web Services 帳戶中儲存庫的 SSH 存取,如需詳細資訊,請參閱 對 的 SSH 連線進行故障診斷 AWS CodeCommit。
儲存此檔案並命名為
config
。 -
從終端機,執行下列命令來變更組態檔的許可:
chmod 600 config
-
執行下列命令以測試 SSH 組態:
ssh git-codecommit.us-east-2.amazonaws.com
系統會要求您確認連線,因為
git-codecommit.us-east-2.amazonaws.com
尚未包含在已知的主機檔案中。CodeCommit 伺服器指紋會顯示為驗證的一部分 (a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e
適用於 MD5 或3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ
適用於 SHA256)。注意
CodeCommit 伺服器指紋對於每個 都是唯一的 AWS 區域。若要檢視 的伺服器指紋 AWS 區域,請參閱 CodeCommit 的伺服器指紋。
確認連線之後,您應該會看到確認訊息,指出您已將伺服器新增到已知主機檔案,還會出現成功連線的訊息。如果您沒有看到成功訊息,請檢查是否已將
config
檔案儲存在您設定存取 CodeCommit 之 IAM 使用者的 ~/.ssh 目錄中,並已指定正確的私有金鑰檔案。如需協助您疑難排解問題的資訊,請使用
-v
參數執行ssh
命令。例如:ssh -v git-codecommit.us-east-2.amazonaws.com
如需資訊來協助您排除連線問題,請參閱對 的 SSH 連線進行故障診斷 AWS CodeCommit。
步驟 4:連線至 CodeCommit 主控台並複製儲存庫
如果管理員已將 CodeCommit 儲存庫的名稱和連線詳細資訊傳送給您,您可以略過此步驟並直接複製儲存庫。
連線至 CodeCommit 儲存庫
在 https://https://console.aws.amazon.com/codesuite/codecommit/home
開啟 CodeCommit 主控台。 -
在區域選擇器中,選擇建立儲存庫 AWS 區域 的 。儲存庫專屬於 AWS 區域。如需詳細資訊,請參閱區域和 Git 連線端點。
-
尋找您要從清單連接的儲存庫並加以選擇。選擇 Clone URL (複製 URL),然後選擇複製和連線至儲存庫時要使用的通訊協定。這會將複製 URL 複製。
如果您搭配 IAM 使用者使用 Git 憑證或 隨附的憑證協助程式,請複製 HTTPS URL AWS CLI。
如果您是在本機電腦上使用 git-remote-codecommit 命令,請複製 HTTPS (GRC) URL。
如果您搭配 IAM 使用者使用 SSH 公有/私有金鑰對,請複製 SSH URL。
注意
如果您看到歡迎頁面,而不是儲存庫清單,則在您登入 AWS 區域 的 中,沒有與 AWS 您的帳戶相關聯的儲存庫。要建立儲存庫,請參閱 建立 AWS CodeCommit 儲存庫 或依照 Git 和 CodeCommit 入門 教學課程中的步驟。
-
開啟終端機。從 /tmp 目錄,使用您複製的 SSH URL,執行 git clone 命令來複製儲存庫。例如,若要將名為
MyDemoRepo
的儲存庫複製到美國東部 (俄亥俄) 區域中名為my-demo-repo
的本機儲存庫:git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
注意
如果您成功測試連線,但複製命令失敗,可能是您沒有組態檔的必要存取權,也可能是其他設定與您的組態檔發生衝突。嘗試重新連線,這次在命令中包含 SSH 金鑰 ID。例如:
git clone ssh://
Your-SSH-Key-ID
@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo如需詳細資訊,請參閱存取錯誤:公有金鑰已成功上傳至 IAM,但在 Linux、macOS 或 Unix 系統上連線失敗。
如需有關如何連接到儲存庫的詳細資訊,請參閱透過複製儲存庫來連線至 CodeCommit 儲存庫。
後續步驟
您已完成事前準備。依照中的步驟開始使用 CodeCommit 開始使用 CodeCommit。