AWS CodeCommit 신규 고객은 더 이상 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Linux, macOS, Unix에서 AWS CodeCommit 리포지토리에 대한 SSH 연결을 위한 설정 단계
CodeCommit에 처음으로 연결하려면 초기 구성 단계를 일부 완료해야 합니다. 컴퓨터와 AWS 프로필을 설정한 후, CodeCommit 리포지토리에 연결하고 해당 리포지토리를 컴퓨터에 복제(로컬 리포지토리 만들기라고도 함)할 수 있습니다. Git을 처음 사용하는 경우, Git에 대해 더 학습하려면 어떻게 해야 하나요?의 정보를 검토하는 것이 좋습니다.
주제
1단계: CodeCommit에 대한 초기 구성
이 절차에 따라 Amazon Web Services 계정을 설정하고 IAM 사용자를 생성하며 CodeCommit에 대한 액세스를 구성합니다.
CodeCommit에 액세스할 IAM 사용자를 생성 및 구성하려면
http://aws.amazon.com
에서 가입을 선택하여 Amazon Web Services 계정을 만듭니다. Amazon Web Services 계정에서 IAM 사용자를 생성하거나 기존 사용자를 사용합니다. 액세스 키 ID가 있고 해당 IAM 사용자와 연결된 비밀 액세스 키가 있는지 확인합니다. 자세한 내용은 Amazon Web Services 계정에서 IAM 사용자 생성하기를 참조하세요.
참고
CodeCommit에는 AWS Key Management Service가 필요합니다. 기존 IAM 사용자를 사용할 경우, CodeCommit에 필요한 AWS KMS 작업을 명시적으로 거부하는 정책이 해당 사용자에게 연결되어 있지 않은지 확인합니다. 자세한 내용은 AWS KMS 및 암호화 섹션을 참조하세요.
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
IAM 콘솔의 탐색 창에서 사용자를 선택한 다음 CodeCommit 액세스에 대해 구성할 IAM 사용자를 선택합니다.
권한 탭에서 권한 추가를 선택합니다.
-
권한 부여에서 기존 정책 직접 연결을 선택합니다.
정책 목록에서, CodeCommit 액세스에 대한 AWSCodeCommitPowerUser 또는 다른 관리형 정책을 선택합니다. 자세한 내용은 AWS 관리형 정책은 다음과 같습니다. CodeCommit 섹션을 참조하세요.
연결할 정책을 선택한 후 다음: 검토를 선택하여 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의 특정 버전에서 문제가 발생할 경우 문제 해결의 내용을 검토합니다.
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 사용자를 선택합니다.
-
사용자 세부 정보 페이지에서 보안 인증 정보 탭을 선택한 다음 SSH 퍼블릭 키 업로드를 선택합니다.
-
SSH 퍼블릭 키의 콘텐츠를 필드에 붙여넣은 후 SSH 퍼블릭 키 업로드를 선택합니다.
-
SSH 키 ID(예:
APKAEIBAERJR2EXAMPLE
)에 정보를 복사하거나 저장합니다.참고
SSH 키 ID를 두 개 이상 업로드한 경우, 키가 업로드 날짜가 아니라 키 ID를 기준으로 영문자순으로 나열됩니다. 올바른 업로드 날짜와 연결된 키 ID를 복사했는지 확인하십시오.
-
로컬 컴퓨터에서 텍스트 편집기를 사용하여 ~/.ssh 디렉터리에 config 파일을 생성한 후 다음 줄을 파일에 추가합니다. 여기서
User
는 이전에 복사한 SSH 키 ID입니다.Host git-codecommit.*.amazonaws.com User
APKAEIBAERJR2EXAMPLE
IdentityFile ~/.ssh/codecommit_rsa
참고
프라이빗 키 파일에
codecommit_rsa
이외의 이름을 지정한 경우, 여기서 해당 이름을 사용해야 합니다.Amazon Web Services의 여러 계정에서 리포지토리에 대한 SSH 액세스를 설정할 수 있습니다. 자세한 내용은 AWS CodeCommit과의 SSH 연결 문제 해결 단원을 참조하세요.
이 파일을 저장하고 이름을
config
로 지정합니다. -
터미널에서 명령을 실행하여 config 파일에 대한 권한을 변경합니다.
chmod 600 config
-
다음 명령을 실행하여 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
파일을 저장하고 올바른 프라이빗 키 파일을 지정했는지 확인합니다.문제를 해결하는 데 도움이 되는 정보를 보려면
-v
파라미터를 사용하여ssh
명령을 실행합니다. 예:ssh -v git-codecommit.us-east-2.amazonaws.com
연결 문제를 해결하기 위한 자세한 방법은 AWS CodeCommit과의 SSH 연결 문제 해결 단원을 참조하세요.
4단계: CodeCommit 콘솔 연결 및 리포지토리 복제
관리자가 CodeCommit 리포지토리에 대한 이름과 연결 세부 정보를 이미 전송한 경우 이 단계를 건너뛰고 리포지토리를 직접 복제할 수 있습니다.
CodeCommit 리포지토리에 연결하려면
https://console.aws.amazon.com/codesuite/codecommit/home
에서 CodeCommit 콘솔을 엽니다. -
리전 선택기에서, 리포지토리를 생성한 AWS 리전을 선택합니다. 리포지토리는 한 AWS 리전에 국한됩니다. 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요.
-
목록에서 연결하려는 리포지토리를 찾아서 선택합니다. URL 복제를 선택한 다음 리포지토리를 복제하거나 연결할 때 사용할 프로토콜을 선택합니다. 이것으로 복제 URL가 복사됩니다.
Git 보안 인증 정보를 IAM 사용자와 함께 사용하거나 AWS CLI에 포함된 보안 인증 도우미를 사용하는 경우 HTTPS URL을 복사합니다.
로컬 컴퓨터에서 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
참고
연결을 성공적으로 테스트했지만 복제 명령이 실패하는 경우, config 파일에 필요한 액세스 권한이 없거나 다른 설정이 config 파일과 충돌하는 것일 수 있습니다. 이번에는 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의 사용을 시작합니다.