Windows에서 AWS CodeCommit 리포지토리에 대한 SSH 접속을 위한 설정 절차 - AWS CodeCommit

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Windows에서 AWS CodeCommit 리포지토리에 대한 SSH 접속을 위한 설정 절차

AWS CodeCommit에 처음으로 연결하려면 초기 구성 단계를 완료해야 합니다. 컴퓨터와 AWS 프로필을 설정한 후, CodeCommit 리포지토리에 연결하고 해당 리포지토리를 컴퓨터에 복제(로컬 리포지토리 만들기라고도 함)할 수 있습니다. Git을 처음 사용하는 경우, Git에 대해 더 학습하려면 어떻게 해야 하나요?의 정보를 검토하는 것이 좋습니다.

1단계: CodeCommit에 대한 초기 구성

이 절차에 따라 Amazon Web Services 계정을 설정하고 IAM 사용자를 생성하며 CodeCommit에 대한 액세스를 구성합니다.

CodeCommit에 액세스할 IAM 사용자를 생성 및 구성하려면
  1. http://aws.amazon.com에서 가입을 선택하여 Amazon Web Services 계정을 만듭니다.

  2. Amazon Web Services 계정에서 IAM 사용자를 생성하거나 기존 사용자를 사용합니다. 액세스 키 ID가 있고 해당 IAM 사용자와 연결된 비밀 액세스 키가 있는지 확인합니다. 자세한 내용은 Amazon Web Services 계정에서 IAM 사용자 생성하기를 참조하세요.

    참고

    CodeCommit에는 AWS Key Management Service가 필요합니다. 기존 IAM 사용자를 사용할 경우, CodeCommit에 필요한 AWS KMS 작업을 명시적으로 거부하는 정책이 해당 사용자에게 연결되어 있지 않은지 확인합니다. 자세한 내용은 AWS KMS 및 암호화 섹션을 참조하세요.

  3. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  4. IAM 콘솔의 탐색 창에서 사용자를 선택한 다음 CodeCommit 액세스에 대해 구성할 IAM 사용자를 선택합니다.

  5. 권한 탭에서 권한 추가를 선택합니다.

  6. 권한 부여에서 기존 정책 직접 연결을 선택합니다.

  7. 정책 목록에서, CodeCommit 액세스에 대한 AWSCodeCommitPowerUser 또는 다른 관리형 정책을 선택합니다. 자세한 내용은 CodeCommit에 대한 AWS 관리형 정책 섹션을 참조하세요.

    연결할 정책을 선택한 후 다음: 검토를 선택하여 IAM 사용자에게 연결할 정책의 목록을 검토합니다. 목록이 올바르면 권한 추가를 선택합니다.

    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의 특정 버전에서 문제가 발생할 경우 문제 해결의 내용을 검토합니다.

설치한 Git 버전에 Git Bash와 같은 Bash 에뮬레이터가 포함되지 않다면 에뮬레이터를 설치합니다. SSH 연결을 구성할 때 Windows 명령줄 대신 이 에뮬레이터를 사용합니다.

3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정

Windows에서 Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키를 설정하려면
  1. Bash 에뮬레이터를 엽니다.

    참고

    관리자 권한을 사용하여 에뮬레이터를 실행해야 할 수 있습니다.

    에뮬레이터에서 ssh-keygen 명령을 실행하고 지침에 따라 파일을 프로필의 .ssh 디렉터리에 저장합니다.

    예:

    $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/drive/Users/user-name/.ssh/id_rsa): Type a file name here, for example /c/Users/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 drive/Users/user-name/.ssh/codecommit_rsa. Your public key has been saved in drive/Users/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 파일: 퍼블릭 키 파일입니다.

    작은 정보

    기본 설정에 따라, ssh-keygen은 2048비트 키를 생성합니다. 매개 변수 -t와 -b를 사용하여 키의 유형과 길이를 지정할 수 있습니다. rsa 형식의 4096비트 키를 원하는 경우, 해당 명령 실행 시 다음의 매개 변수를 사용합니다.

    ssh-keygen -t rsa -b 4096

    SSH 키에 필요한 형식과 길이에 대해 자세히 알아보려면 CodeCommit에서 IAM 사용하기를 참조하세요.

  2. 다음 명령을 실행하여 퍼블릭 키 파일(codecommit_rsa.pub)의 값을 표시합니다.

    cd .ssh notepad codecommit_rsa.pub

    파일 콘텐츠를 복사한 다음 메모장을 저장하지 않고 닫습니다. 파일 콘텐츠는 다음과 비슷합니다.

    ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@computer-name
  3. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    참고

    내 보안 인증 정보에서 CodeCommit 보안 인증 정보를 직접 보고 관리할 수 있습니다. 자세한 내용은 보안 인증 정보 보기 및 관리 섹션을 참조하세요.

  4. IAM 콘솔의 탐색 창에서 사용자를 선택하고 사용자 목록에서 해당 IAM 사용자를 선택합니다.

  5. 사용자 세부 정보 페이지에서 보안 인증 정보 탭을 선택한 다음 SSH 퍼블릭 키 업로드를 선택합니다.

  6. SSH 퍼블릭 키의 콘텐츠를 필드에 붙여넣은 후 SSH 퍼블릭 키 업로드를 선택합니다.

  7. SSH 키 ID(예: APKAEIBAERJR2EXAMPLE)에 정보를 복사하거나 저장합니다.

    
            IAM 콘솔의 SSH 키 ID
    참고

    SSH 키 ID를 두 개 이상 업로드한 경우, 키가 업로드 날짜가 아니라 키 ID를 기준으로 영문자순으로 나열됩니다. 올바른 업로드 날짜와 연결된 키 ID를 복사했는지 확인하십시오.

  8. Bash 에뮬레이터에서 다음 명령을 실행하여 ~/.ssh 디렉터리에서 config 파일을 생성하거나 이미 있는 경우 편집합니다.

    notepad ~/.ssh/config
  9. 파일에 다음 행을 추가합니다. 여기서 User 값은 앞서 복사한 SSH 키 ID이고 IdentityFile은 프라이빗 키 파일의 경로 및 이름입니다.

    Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa
    참고

    프라이빗 키 파일에 codecommit_rsa 이외의 이름을 지정한 경우, 여기서 해당 이름을 사용해야 합니다.

    Amazon Web Services의 여러 계정에서 리포지토리에 대한 SSH 액세스를 설정할 수 있습니다. 자세한 내용은 AWS CodeCommit과의 SSH 연결 문제 해결 단원을 참조하세요.

    파일을 config 파일(config.txt가 아님)로 저장하고 메모장을 닫습니다.

    중요

    파일 이름은 파일 확장명 없이 config여야 합니다. 그렇지 않으면 SSH 연결이 실패합니다.

  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).

    참고

    CodeCommit 서버 지문은 각 AWS 리전마다 고유한 값을 갖습니다. AWS 리전의 서버 지문을 보려면 에 대한 서버 핑거프린트 CodeCommit 섹션을 참조하세요.

    연결을 확인한 후 서버를 알려진 호스트 파일에 추가했다는 확인 메시지와 연결이 성공했다는 메시지가 표시되어야 합니다. 성공 메시지가 표시되지 않는 경우, CodeCommit에 액세스하도록 구성한 IAM 사용자의 ~/.ssh 디렉터리에 config 파일을 저장했는지, config 파일에 파일 확장자가 없는지(예: 이름을 config.txt로 짓지 말 것), 올바른 프라이빗 키 파일을 지정했는지(codecommit_rsa.pub가 아닌 codecommit_rsa) 등을 다시 확인합니다.

    문제를 해결하려면 -v 파라미터를 사용하여 ssh 명령을 실행합니다. 예:

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

    연결 문제를 해결하는 방법은 AWS CodeCommit과의 SSH 연결 문제 해결 단원을 참조하세요.

4단계: CodeCommit 콘솔 연결 및 리포지토리 복제

관리자가 CodeCommit 리포지토리에 대한 이름과 연결 세부 정보를 이미 전송한 경우 이 단계를 건너뛰고 리포지토리를 직접 복제할 수 있습니다.

CodeCommit 리포지토리에 연결하려면
  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리전 선택기에서, 해당 리포지토리를 생성한 AWS 리전을 선택합니다. 각 리포지토리는 하나의 AWS 리전에 국한됩니다. 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요.

  3. 목록에서 연결하려는 리포지토리를 찾아서 선택합니다. URL 복제를 선택한 다음 리포지토리를 복제하거나 연결할 때 사용할 프로토콜을 선택합니다. 그러면 복제 URL을 복사합니다.

    • IAM 사용자를 통한 Git 보안 인증 정보를 활용하거나 AWS CLI에 포함된 보안 인증 도우미를 사용하는 경우 HTTPS URL을 복사합니다.

    • 로컬 컴퓨터에서 git-remote-codecommit 명령을 사용하는 경우 HTTPS(GRC) URL을 복사합니다.

    • IAM 사용자와 SSH 퍼블릭/프라이빗 키 페어를 사용하는 경우 SSH URL을 복사합니다.

    참고

    리포지토리 목록 대신 시작 페이지가 표시될 경우, 사용자가 로그인한 AWS 리전에 사용자의 AWS 계정과 연결된 리포지토리가 없는 것입니다. 리포지토리를 만들려면 AWS CodeCommit 리포지토리 생성를 참조하거나 Git 및 CodeCommit 시작하기 자습서의 다음 단계를 따릅니다.

  4. Bash 에뮬레이터에서 복사한 SSH URL로 git clone 명령을 실행하여 리포지토리를 복제합니다. 이 명령은 명령을 실행한 디렉터리의 하위 디렉터리에 로컬 리포지토리를 생성합니다. 예를 들어, MyDemoRepo라는 리포지토리를 미국 동부(오하이오) 리전의 my-demo-repo라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

    git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    또는 명령 프롬프트를 열고 IAM에 업로드한 퍼블릭 키의 URL 및 SSH 키 ID를 사용하여 git clone 명령을 실행합니다. 그러면 명령을 실행한 디렉터리의 하위 디렉터리에 로컬 리포지토리가 생성됩니다. 예를 들어, MyDemoRepo라는 리포지토리를 my-demo-repo라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

    git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    자세한 정보는 리포지토리를 복제하여 CodeCommit 리포지토리에 연결커밋 생성 섹션을 참조하세요.

다음 단계

사전 필수 단계를 완료했습니다. CodeCommit 시작하기 에 나와 있는 단계에 따라 CodeCommit의 사용을 시작합니다.