SSH連接的設置步驟 AWS CodeCommit 上的存儲庫 Linux, macOS, or Unix - AWS CodeCommit

SSH連接的設置步驟 AWS CodeCommit 上的存儲庫 Linux, macOS, or Unix

在連接之前 CodeCommit 您第一次必須完成一些初始配置步驟。設置計算機和AWS配置文件後,您可以連接到 CodeCommit 存儲庫並將存儲庫克隆到您的計算機(也稱爲創建本地存儲庫)。如果您是初次使用 Git,您可能還需要檢閱我可以在哪裏瞭解更多關於Git的信息?中的資訊。

第1步: 的初始配置 CodeCommit

依照這些步驟來設定 AWS 帳戶、建立 IAM 使用者,以及設定對 CodeCommit 的存取。

建立和設定 IAM 使用者以存取 CodeCommit

  1. 移至 http://aws.amazon.com 並選擇 Sign Up (註冊),以建立 AWS 帳戶。

  2. 在您的 AWS​ 帳戶中,建立 IAM​ 使用者或使用現有的使用者。請確定您具有與該 IAM 使用者相關聯的存取金鑰 ID 和私密存取金鑰。如需詳細資訊,請參閱在 AWS 帳戶中建立 IAM 使用者

    注意

    CodeCommit 需要 AWS Key Management Service。如果您使用現有的 IAM 使用者,請確定連接到使用者的政策沒有明確拒絕 CodeCommit 所需的 AWS KMS 動作。如需更多詳細資訊,請參閱「AWS KMS 和加密」。

  3. 登入 AWS 管理主控台 並在 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  4. 在 IAM 主控台的導覽窗格中,選擇 Users (使用者),然後選擇您要設定用於存取 CodeCommit 的 IAM 使用者。

  5. Permissions (許可) 標籤上,選擇 Add Permissions (新增許可)

  6. Grant permissions (授予許可) 中,選擇 Attach existing policies directly (直接連接現有政策)

  7. 從政策清單中,選取 AWSCodeCommitPowerUser,或另一個用於存取 CodeCommit 的受管政策。如需更多詳細資訊,請參閱「CodeCommit 的 AWS 受管 (預先定義) 政策」。

    選擇要附加的策略後,請選擇 下一步: 回顧 查看要附加到 IAM 用戶。如果清單正確,請選擇 Add permissions (新增許可)

    如需有關 CodeCommit 受管政策及分享儲存庫存取權給其他群組和使用者的詳細資訊,請參閱共享存儲庫AWS CodeCommit 的身份驗證與存取控制

注意

如果您想要使用 AWS CLI 命令來搭配 CodeCommit,請安裝 AWS CLI。如需更多詳細資訊,請參閱「命令列參考」。

第2步: 安裝Git

要使用 CodeCommit 儲存庫中的檔案、認可和其他資訊,您必須在本機電腦上安裝 Git。CodeCommit 支援 Git 1.7.9 版和更新版本。我們建議您使用最新版本的 Git。

要安裝 Git,建議可使用 Git Downloads 等網站。

注意

Git 是一種持續演進且定期更新的平台。有時,一項功能的改變,可能會影響此功能與 CodeCommit 運作的方式。如果您遇到特定版本的 Git 和 CodeCommit 方面的問題,請檢閱 疑難排解 中的資訊。

Step3:(三) 在上配置憑證 Linux, macOS, or Unix

SSH和 Linux, macOS, or Unix: 設置Git和Git的公鑰和私鑰 CodeCommit

要設置Git和Git的公鑰和私鑰 CodeCommit

  1. 從本機電腦上的終端機,執行 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:14 user-name@client-name The key's randomart image is: +--[ RSA 2048]----+ | E.+.o*.++| | .o .=.=o.| | . .. *. +| | ..o . +..| | So . . . | | . | | | | | | | +-----------------+

    這會產生:

    • 所以此 codecommit_rsa 文件,即私鑰文件。

    • 所以此 codecommit_rsa.pub文件,即公鑰文件。

  2. 運行以下命令以顯示公鑰文件的值(codecommit_rsa.頁):

    cat ~/.ssh/codecommit_rsa.pub

    複製這個值。它看起來類似下列:

    ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137
  3. 登入 AWS 管理主控台 並在 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

    注意

    您可以在 My Security Credentials (我的安全登入資料) 中直接檢視和管理您的 CodeCommit 登入資料。如需更多詳細資訊,請參閱「查看和管理您的憑證」。

  4. 在 IAM 主控台的導覽窗格中,選擇 Users (使用者),然後從使用者清單中,選擇您的 IAM 使用者。

  5. 在使用者詳細資訊頁面,選擇 Security Credentials (安全登入資料) 標籤,然後選擇 Upload SSH public key (上傳 SSH 公有金鑰)

  6. 將 SSH 公有金鑰的內容貼到欄位中,然後選擇 Upload SSH public key (上傳 SSH 公有金鑰)

  7. 複製或保存信息 SSH密鑰ID (例如,APKAEIBAERJR2EXAMPLE).

    
              中的SSH鍵ID IAM 控制檯
    注意

    如果您有多個SSH密鑰 IDs 已上傳,密鑰按密鑰ID的字母順序列出,而不是按上傳日期列出。請確定您已複製的金鑰 ID 與正確的上傳日期相關聯。

  8. 在本地計算機上,使用文本編輯器在~/.ssh目錄中創建配置文件,然後將以下行添加到文件,其中的值 User 是您之前複製的SSH密鑰ID:

    Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa
    注意

    如果您爲您的私鑰文件提供了除 codecommit_rsa,請務必在此處使用它。

    您可以設置SSH訪問多個 AWS 帳戶,有關詳細信息,請參閱 對SSH連接進行故障排除 AWS CodeCommit.

    儲存此檔案並命名為 config

  9. 從終端機,執行下列命令來變更組態檔的許可:

    chmod 600 config
  10. 執行下列命令以測試 SSH 組態:

    ssh git-codecommit.us-east-2.amazonaws.com

    由於 git-codecommit.us-east-2.amazonaws.com 尚未包含於您的已知主機檔案中,所以系統會要求您確認連線。CodeCommit 伺服器指紋會顯示為驗證的一部分 (適用 MD5 的 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e 或適用 SHA256 的 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ)。

    注意

    每個 AWS 區域的 CodeCommit 伺服器指紋都是獨一無二。若要檢視 AWS 區域的伺服器指紋,請參閱 的服務器指紋 CodeCommit

    確認連線之後,您應該會看到確認訊息,指出您已將伺服器新增到已知主機檔案,還會出現成功連線的訊息。如果您沒有看到成功訊息,請確認您已將 config 檔案儲存至您設定來存取 CodeCommit 的 IAM 使用者的 ~/.ssh 目錄中,而且您已指定正確的私有金鑰檔案。

    如需可協助您排除問題的相關資訊,請執行 ssh 命令並搭配 -v 參數:

    ssh -v git-codecommit.us-east-2.amazonaws.com

    如需資訊來協助您排除連線問題,請參閱對SSH連接進行故障排除 AWS CodeCommit

第4步: 連接到 CodeCommit 控制檯並複製存儲庫

如果管理員已經向您發送了 CodeCommit 存儲庫,您可以跳過此步驟並複製存儲庫直接。

連接到 CodeCommit 儲存庫

  1. 開啟位於 https://console.aws.amazon.com/codesuite/codecommit/home 的 CodeCommit 主控台。

  2. 在區域選擇器中,選擇已建立儲存庫的 AWS 區域。儲存庫為 AWS 區域特有的。如需詳細資訊,請參閱區域和Git連接端點

  3. 尋找您要從清單連接的儲存庫並加以選擇。選擇 Clone URL (複製 URL),然後選擇複製和連線至儲存庫時要使用的通訊協定。這會將複製 URL 複製。

    • 如果您是將 Git 登入資料與 IAM 使用者搭配使用,或是使用 AWS CLI.隨附的登入資料協助程式,請複製 HTTPS URL。

    • 如果您是在本機電腦上使用 git-remote-codecommit 命令,請複製 HTTPS (GRC) URL。

    • 如果您是將 SSH 公有/私有金鑰對與 IAM 使用者搭配使用,請複製 SSH URL。

    注意

    如果您看見的是 Welcome (歡迎) 頁面而不是儲存庫清單,這表示在您登入的 AWS 區域中沒有與 AWS 帳戶關聯的儲存庫。要建立儲存庫,請參閱 創建 AWS CodeCommit 存儲庫 或依照 Git入門和 CodeCommit 教學課程中的步驟。

  4. 開啟終端機。從 /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, or Unix 系統」。

    如需有關如何連接到儲存庫的詳細資訊,請參閱連接到 CodeCommit 通過克隆存儲庫

後續步驟

您已完成事前準備。依照 CodeCommit 入門 中的步驟開始使用 CodeCommit。